NOIp2017滚粗记
Day 0
周五上午,想到下午就要去考场了,就不刷题了吧。毕竟前一周我已把历年真题刷完了(个别太早的题没做)。
于是就打了打板。当时觉得没什么可复习的了,于是就只打了树剖、线筛和的板。接着颓了一会儿纸牌和扫雷。
此时正在写一道点双连通分量的题解,突然意识到我几种无向图连通分量(割点和桥)还没复习。
赶快去看了看博客。一个上午就没了。
下午到考场。吃饭前简略看了看树分治。
晚上开会的时候又想到欧拉图还没复习,好多年没考过了,赶快看看,免得真考到了。
Day 1
刚上场就被搞得一脸懵逼。蛤?数论题放?或者说结论题?推了半小时,果断弃坑。
由于先前没读(题面太长太烦不想读),气氛挺紧张。还好这时我先看了而没跳到,读完发现好简单,索性栈模拟。码到一半发现貌似栈上东西挺多,突然意识到可以递归模拟,肯定好写得多。不过没管,都码了了,索性码完。
水完倒回来看,打了一个的表,把不互质的情况去掉,发现规律很显然,不就是吗?赶快水掉。
看到后觉得难度不算太大。发现可以做。这时还没想到拆点,只想到一个带大常数的容斥。考场上思维没那么开阔,打了容斥,调了半小时才过样例。大样例貌似了,跑了秒看没出结果我就没管了。回去看,总觉得会出锅,多出了几组自测小数据,好像没锅。(?)
考完后发现的容斥有些问题,遇到正环会死循环(因为我采用的是类似的顺序,而容斥的时候没及时清零)。
成绩出来后才发现只有分。崩溃地发现把字符串转数字码错了…
1 | for (int i = 0; i < strlen(s); i++) ret = ret*10+s[i]-'0'; //正确代码 |
最后只好滚粗
Day 2
拿到题目,担心简单会很难,结果看到就打消了顾虑。
是难得的大水题啊,直接并查集水过。
看到数据范围就想到了状压,但想得不够深,始终在想如何存存下一棵子树的形态。
后来又想到了哈夫曼树的贪心,没注意到此题的顺序和贪心顺序是反的,打了一个错误的贪心,花了一个半小时,还自己把自己卡死了。水了的树部分分。
显然是数据结构题,看到就有种的感觉。但是我板都打不熟,而又是省选内容,再加上时间不太够,就没打。先水了分的裸暴力,又用写了分的的情况…结果二分的时候更新打错了。
最后滚粗
Conclusion
两天合起来是分。
尴尬而耻辱的分数段,毕竟我当场估分时,因为三道题打错而挂了分。
其实也是自己的锅。十连测阶段我光顾着改题,代码能力有所下滑。
这在冬令营之前一定要补起来,虽然我今年大概是进不了冬令营的了。
此耻明年必报。