NOIP2017滚粗记

落榜后 【唐】ergeda
昔日龌龊不足夸,今朝郁闷思无涯
欲哭无泪马失蹄,摔在地上摩擦

我此时的心情,大约的确是如此吧

*****游记的分割线*****

Day0
不知道该干什么。
早上拉着脑普文比赛打模板被吊虐(果然还是比不过某键盘侠)中午吃了一顿饱的休养生息,下午脑煜勋开始疯狂立flag
“今年肯定又要考树了”, “NOIP什么时候考过图论啊”,
我居然还信了他的鬼话,屁颠屁颠跑去做了一堆树上的模板题和dp题。晚上继续休养生息,半夜梦到day1t1死活做不出来(flag)

Day1
6点准时起床,感觉肚子不太对劲。到了考点才发现是拉肚子了
关羽过五关斩六将,我上五楼拉六次(心里一万个AFO奔腾而过)昏昏沉沉的进了考场。
感觉肚子还没空,如坐针毡。此时心情已经相当郁闷了,想着去年5min秒掉t1,今年也想秒掉t1找找信心。
一看题面。数学题。。呵。。呵。感觉和exgcd有二两关系,推了半天完全毫无思路。我马上以为题目的难度又是倒序来的,于是马上去看t2,t3.
t2耐着性子看完发现是道大模拟,对语文水平的要求很高,立马弃掉看t3,图论??感觉今天药丸。看了下暴力分,感觉t3不像道水题,于是按照惯例去死刚t1。
在一顿乱想之后我只能弃掉t1打了个暴力,整个人已经心态爆炸。一看时间9:30,只好耐着性子再看了一遍t2,发现细节超多,整个人都非常急躁。
20min敲完t2发现旁边的大佬已经开始卡t3的常数了,恰好t3我又写不来暴力,发誓要和t1一刚到底。
到了10:30,无果。感觉day1要炸,开始祈祷同学们给我灵感,突然想到这种输入极少的题llz一般都可以瞬间找到规律。于是飞快的打表,经过近20min的不懈努力找到了a*b-a-b的规律。
离结束只有差不多1h了,我感觉t2还有点虚,就放肆检查了10min。然后开始疯狂想t3的暴力。发现自己并不会最短路计数,然后瞎写了个二维spfa过了自己出的十几组小样例就没管了,感觉跑的飞慢的,-1也没判了。
考完才知道自己t3太没有梦想,改成反过来的记忆化就可以A掉了。
100+100+60,有点亏(t1太屎了)。
从下午一直颓到晚上。为迎接day2的爆炸做足了准备。
Day2
t1画风总算正常了,并查集秒掉。
t2又是道图论,看数据范围感觉要状压。然后我就感到了自己思维完全僵化。就是不会定状态。呆看着t2一直到10点,只好弃疗去打了t3的暴力,发现t3的部分分很多。就打算先骗几分再去做t2。
—————————智障的分割线——————————
至今我都不敢相信明明仔细的看了t3,我竟然连q=500那个点居然都没有写。当时看到x=1,心中一动,之前不是刚好有一场模拟赛考过类似的,好像可以用vector的erase水过去,又想到NOIP不会考带log的数据结构(放屁),于是就没有再用什么线段树之类的了。
某人(thkkk)当时还特意告诉我vector的erase和insert复杂度接近O(nlogn)。
然后。。。就GG了,这复杂度明明就是接近O(n^2)的好吗!!!
然而当时不知道还在那里愚蠢的对拍那个根本不存在的30分。
自我感觉t3至少有60分就可以去刚t2了,然后一直到了快11:10还是没有任何思路。开始挖空心思打完了暴力。竟然可以过大样例!!一算复杂度O(8^8)居然可以过70分,一下子稳了好多(flag)
最后还有40分钟左右,在t3和t2之间选择继续做t2,战略上的失误让我t3直接30滚粗,t2最后还是只有暴力分。
100+70+30滚粗,(CCF的老爷机硬是把我T3vector硕果仅存的10分都卡掉了,比民间数据还低了10分)
今年的NOIP是有点平时模拟赛的感觉,题目都很屎,感觉自己的思维代码能力都还不行,day2t2t3的滚粗就是证据,感觉离考的好和考的差都只有一步之遥,算是一个比较中肯的成绩发挥吧。

————————–题解的分割线—————————
Day1
t1:考完才惊奇的发现自己还看过这个结论的证明,但当时做题不太用心都没有记住,我还曾经贴到了自己博客上。这里贴一遍博客地址http://blog.csdn.net/ergedathouder/article/details/64525570
t2:工业大模拟
t3:记dp[i][j]代表到了i号点差值为j的方案数,先求出最短路,再倒着记忆化搜索,只有当前这个点可以在k步之内到达才从这里转移
sigma dp[end][0~k]就是答案
Day2
t1:并查集判断连通性
t2:状压dp,难点在于状态的定义,dp[i][j]代表已经确定了深度小于等于i的点点击为j(并不用记深度为i的点集,因为最优解肯定可以从当前这个状态转移),预处理点到集合的最小代价以及集合到集合的最小代价,枚举子集预处理和转移复杂度只有3^n
t3:线段树动态开点,一开始n行只需要开n个节点,只需要支持单点查询和修改,那时候再动态开点,实质上就是x=1的做法的延伸
最后一列单独开一个线段树维护即可

———————–总结的分割线———————-
1.我需要掌握更多的基础算法,可以在考完快速的改完,拥有更多的思维方向
2.不要被思维定式影响,用心去体会题目,自己选择做题的顺序
3.还是要锻炼思维,多去做dp的题目,试着在学习算法的时候真正理解,多做几道题目(自己想)来深刻的理解算法,能够熟练地写出来
4.其实把平时考试的题都改完对自己的提高也是很大的,关键是能够在一段时间的集训之后又能够回过头来把集训的题目给一道一道理解
5.不能够被他人的进度影响,了解自己的状态、做题速度,做不出来的题不急着看题解,不被别人切题的快速度所影响,按着自己的节奏来。
6.或许大家都能够我你快很多的改完题目、做完题目,也不要轻言放弃。慢慢的独立去看懂题解而不是一味地让别人教你,细致地改完题目,未必收获就比别人少
7.永不放弃,正确的策略非常重要,在一切没有尘埃落定之前就有机会翻盘!!

留给我的时间已经不多了,不如不留遗憾的放手一搏,至于结果,管他呢!@whynot

你可能感兴趣的:(随笔)