NOIP2017记

Day-1~Day0

  帮忙布置考场,打印座位表耗掉了不少XFZ的白纸(被瞪了一眼),围着三四楼跑了不知道多少圈贴座位表,跑到绝望......

  然后试了一下机,性能还可以,但是大佬用的机的cpu都不是很好,这就十分不利。考前一天发现cygwin,决定还是适应一下,狂背配置,体验还不错(一开始做到dhr的座位上了好虚)。

Day1

  上手打开三道题,扫了一眼T1不是很会,T2字符串处理题一看就恶心,T3....没看出来。回去盯T1,盯着样例"3 7    11",盯了若干分钟,突然闪过$ans=a*b-a-b$的感觉,一对拍woc真没错,具体的就不会证明了,真的太侥幸。

  T2打了两遍,第一遍实现出来和预期不符,大方向出了偏差,只能处理一个嵌套的情况而不能处理For并列的情况,结果还对着程序调了半天,一个一个数据地调,调到倒数第二个数据才发现错,此时已耗费1h;又删掉重打,总耗时将近2h。这是今年的一个重大失误,问题出在自己对代码实现的疏忽和规划能力的自负和缺乏。

  虽然T3还剩一个小时,但是我除了想到拓扑序以外再也没想到更多的东西。于是不知怎么的打了一个A*,因为实在想不到什么其他思路,估计也炸了,最多。。10pts?

  如果T2细节没炸的话,期望100+100+10=210。

Day2

  听dalao自言自语说要翻盘,的确如果今天考不好确实没有任何优势了。然而Day2又炸在细节上。

  T1一眼n方傻题,可是我跑出来2s。自己尝试着删掉n方建边以后明显快了很多,但是我居然没有继续检查建边的判断函数,里面可是包含了一个开房和众多浮点运算,不慢才怪!不卡精度才怪!我感觉我在浮点运算上一点都不敏感,之前在模拟赛的时候也碰到过浮点卡常的问题,被坑得很惨,然而NOIP却还是栽在坑里,而且是毫无意识的。

  T2感觉可做,又是耗时最多的题目。一开始设置的状态只记录了已搜索的状态,其中的某一个点和它的深度,但是不全面。于是我就懵逼了一小时,本来还想留点时间给T3的。

后来想,算了,全心全意弄T2吧,于是打了T3的30pts暴力,立刻回头来投身T2。

  想想,因为状态转移要考虑深度,那我能不能考虑一层一层地转移。枚举最后一层的状态,再枚举新的一层的状态,预处理转移的花费,这样应该没问题。但我一直觉得会超时。后来想起yww和zjt讲的子集枚举法,我只记得会快,但不知道具体时间。我就想先写了吧。跑出来小数据没问题,大数据炸了,调了半天发现数组每维的大小反了。。。改回来,445出来的一瞬间我突然感觉很顺畅,一看表只剩10min,赶紧写个makedata跑12的数据,0.938s出,(考后才知道这个复杂度是O(n*n^3)的,玄学)。我坚信ccf的机子跑的比我们机房的这个奇怪电脑快(同样的解法myh跑0.2s啊我这个常数也太恐怖了吧),不出意外的话应该ok。

  Day2期望50+100+30=180,不满意的一天。

End

  妄想第一次参加提高组能取得一些成绩,结果初赛炸得恐怖,复赛也各种失误。看来还是得脚踏实地地走,不只注意思路,还要注意小细节之类的。自己选的路,跪着也要走完。

原文地址:https://www.cnblogs.com/RogerDTZ/p/7823023.html