HAOI 2017 游记

省选

2017年4月23日

流水账式游记,不喜勿喷.

Day0:

  准备出发,上午敲了一顿板子,板子敲完了就打小游戏,老师也不管了.

  过程中各种奶,说什么今年一定考仙人掌啦,今年一定考字符串啦,今年一定不考FFT之类的.

  高二的同学都有点亢奋.毕竟最后一战了(~~).

  中午jzyz四人组吃了一顿聚餐.算是最后的道别,当然,不知道是谁与谁的告别.

  下午两点上车,3点半左右到达,幸好车上有空调,否则我们都要煮熟.

  在宾馆休息了一会儿后,四点左右去试机了.

  试机不错,调试了机子后,发现机子除了慢,并没有什么其他问题.

  对拍什么的经过调试也无大碍.很顺利.

  工作人员看起来也很负责,为了解决蓝屏问题将win7换成了xp,并且加了一些不错的软件.  

  心情一片大好.

  回宾馆的路上,与队友讨论了一番今年的题目可能会出成什么样子,各种立flag.

  晚上看小说看到10点睡觉.

  做梦梦到了好几次看到了成绩单,但是画面模糊,没有看到我的名字,很好,没影响心情.

Day1:

  早上7点起来,叫醒syq,又浪费了很多时间后,差点没吃上饭.

  进考场,果断敲各种bat,makedata.cpp,right.cpp备用.再敲上常用的空白程序板子.

  题目下来了;

  T1:求去掉哪些边后,最大独立集的数目+1.输出可以去掉的边.(题意已经翻译).

  数据范围n到了10000,m到了150000.

  O(m*dinic(复杂度))枚举肯定不行,先标记个暴力50分吧.

  这时候我心情就有点紧张了,第一题会不会是个SB题?但我没过多研究二分图,无法找到性质,怎么办?

  郁闷的看第二题.

  T2一个后缀数组题目,但多组询问,n到了1e5询问,1e5

  又是这种感觉没什么思路的题,但暴力40 n^3还是很好搞的.

  T3:这不是某年WC的题目吗?处理所有环,然后扔线性基,玩个线性基最大值就行了.

  结果发现位数到了1000,我了个擦,一次线性基复杂度惊人.

  而且多组询问,每条加入边存在于一个区间,删除转分治就行了,但是如何计算加入一条边的贡献,GG.

  还是暴力,搞个玄学暴力吧.

  看完三道题,一点思路没有全是暴力,顿时抑郁了.

  然后剩下三小时码暴力.

  网络流,码起来容易.手玩小数据+眼查没问题就放一边了.

  后缀数组我昨天试机就敲了一遍,再次敲完,没问题,敲了40拍完写T3.

  第三题本来由于不开O2想着自己写个压位的Bitset,但是写到一半感到了恶心,替换成bitset算了.

  写写调调终于写完了T3.测了下样例一遍过,自己又够了几组数据没问题.

  不放心,把bitset换成int测一下,没问题,再眼查一下,不管了.

  然后这时候就已经快结束了,但马上延时了半小时.

  开始检查,发现第二题开个5000*5000数组搞个前缀Max即可优化到nQ,有60分.

  最后也就把三道题的暴力交了上去.

  出来,惊!stdcall直接就说问有多少个上两百的,Mike说他们做过第一题原题(后来我听数据范围不一样).

  好几位大神说自己要退役了,但实际上我感觉没什么,上午大家都暴力嘛,拉不开分的.

  吃完饭,回去很快就又开考了.

  这时候心情已经完全放松了,准备好好搞下午,争取AC一道.

  发下PDF.发现出题人各种锅,PDF上有很多错误,但还好不影响做题.

  第一题一眼DP,但状态转移不好做.

  第二题看完前半部分发现是个SB题,然后紧接着发现他换了比较规则(这出题人坑啊).

  没什么想法,20暴力吧.

  认为第一题更可做,准备全力搞第一题,虽然第一题看上去我也找不到转移的规律.

  先暴力码码.码完发现题意理解错了,每次是三个维度选一个加上一些1,而不是随意加.

  好,题目简单了不少.每个维度单独算,做DP即可.

  直觉上这道题和二进制中的1有很大关系.

  打个表看了一下后发现结论对了,然后想怎么状态转移.

  写了个log4 n的预处理,但调了很长时间调不对.

  这时候发现已经3点20多了,离结束只剩一个小时了,第二题暴力还没打.

  决定到半点再调不出来就弃了.

  看了遍程序猛地意识了自己之前的错误思路还残留在程序里.

  改掉,我直觉上,这次没问题了.测了几个手玩点,正确了!

  这道题,最困难的部分已经解决了.

  解决了转移问题,但还有障碍点问题(我后来才看到这玩意).

  不虚,直接套棋盘模型,但这么DP是o^2的.

  上NTT?没法上啊,都不是卷积上个鬼.

  难道是预处理转移搞分治NTT?算了没时间了,总比20分强.

  干脆写个记忆化吧(保佑数据水一点,o^2不要跑满).

  写完第一题拍完,去写第二题,暴力码了20分,然后眼查一下,就开始等结束.

  考试终于结束了.

  

  然后就是等成绩,中间听老师说上午最高的是我的90分,60分的2个,40一大堆.

  Mike等表示自己上午第二题写完拍完怎么着都不可能跌下60,怎么60分的这么少.

  感觉HA省又要出事故了,提心吊胆.

  

  和syq讨论了一下下午第一题,他的DP是O(o)的,我认为我的DP没问题.

  等到下午6点多,成绩出来了.从台阶上跳下去一看,发现自己rnk1了,然后看同校神犇的成绩,发现jjh和syq以及wyj都进队了.省队还有Mike,rapiz等,能进省队的人都很熟悉.

  然后就是看成绩分布,上午90,下午70,上午第一题第三题出错很正常,所以我也没怎么纠结,下午o^2被卡成50也在意料之中,很强的一点是syq下午近乎A掉了第一题.

  我很纳闷,难道我的DP是错的?还是那个DP还可以优化?

  接下来很多选手说上午的第二题的60对拍没问题,上午分却很低,不科学.我也觉得不是很对劲,HA又要出锅了.

  但天快黑了,我们必须走了,拷走了上午数据后坐大巴出发.

  在回去的路上,stdcall在通讯上提出空间开小了,发现一看确实如此,老师就拿电脑开始重测.重评完了上午150,正常了.

Day2-4 

  最近几天确实过得很无语,因为河南省计算机协会一直不发最终成绩,我们也很心乱.

  虽然从我们自己测的成绩我是没问题的,但结果最终会影响我们学校的.

  

  同时这几天也爆出了一些锅:

  1.内存开小 

  2.没开忽略制表符和行末空格.

  (HACF怎么这么不走心呢?这些都是lemon非常需要注意的啊,我来搞评测绝对不会在这种问题上出锅).

  3.下午第一题数据过水,所有障碍点都不影响最终答案.

  (正解居然O(o^2),卡常技巧先进啊).

  (最后我用最强的数据测我的程序,是会被卡一些的常数的,但我写了记忆化,所以复杂度近乎O(o)了).

  (我猜出题人没看出来自己的数据的问题,否则这样卡常是会被裱的).

  4.下午第二题数据过水,我的原来是准备水20的程序水了60.

  

2017-04-26

  终评成绩出来,评测结果与本校评测结果差不多,我认为差不多算是个结束了.

  jjh和qyj准备申诉,但是我认为申诉理由并不是很充分,因为数据的话,只能说不好,不能说错误了.

  对此事我中立.当然也可能是我不是当事人感受不深吧.

  HAOI算是结束了,这件事也可以告一段落,下一步就是CTSC和APIO了,这些日子HAOI也确实影响了很多人,确实到了干些实事的时候了.

  以后再见了!

  (我第一次写这么长的游记,很赞啊).

  

  

  

  

posted @ 2017-04-26 17:41  CHADLZX  阅读(1530)  评论(2编辑  收藏  举报