NOIP2018 游记

Day 0

考前担心会考网络流,看了很久的网络流模板。

Day 1

A题卡了15分钟还想不到正解。

马上进入了我的一贯节奏:卡住,慌,想乱七八糟的东西,心态崩溃

于是A题匆匆打了一个“分治”做法,每次找区间的最小值,然后把最小值拿出来,剩下的每个区间递归进去。然后错误地认为,这个暴力的复杂度是分治的 O ( n log ⁡ n ) O(n\log{n}) O(nlogn)。(实际是 O ( n 2 ) O(n^2) O(n2),出一个单调递增的数据就可以愉快的卡掉我的代码)然后就不管它了,直到最后都没有发现。

由于心态的影响,B题就想象成了一道丧题。先跳过了。

这种破罐子破摔的心态有一个好处,就是可以促使我主动分析部分分和性质。

C题是树题,第一反应树形DP,因为NOIP经常考。但还是先分析了一下部分分,出题人给了最长链是答案的部分分、菊花的部分分,链的部分分,和点度小的部分分。
考虑答案是求最短的最长,(常见套路)二分最短的道路长度为 l e n len len,从而转化为判定性问题。

考虑树形DP的状态,记 f [ x ] f[x] f[x] x x x 号点内长度不小于 l e n len len 的道路数量。则从根开始DP,当 f [ r o o t ] ≥ m f[root]\ge{m} f[root]m l e n len len 是答案。

观察子树内合法道路的形态。有不经过的 x x x 的,用儿子节点的 f f f 贡献;
考虑经过 x x x 的,记 g [ x ] g[x] g[x] x x x 为根的子树中,不在答案(不计入 f [ x ] f[x] f[x])内的从 x x x 出发的最长链。
那么对于 x x x,如果它的儿子 y y y g [ y ] g[y] g[y] 加上到 x x x 的树边边权不小于 l e n len len,则直接计入 f [ x ] f[x] f[x]。否则暂时存下来。因为我们发现,如果能配对,则尽量配对。 所以对于这些小于 l e n len len 的链两两组合为道路且长度不小于 l e n len len,在配对数最多的情况下,要求剩下的最链最长,贡献到 g [ x ] g[x] g[x] 中。

这里可以排序后,再次二分转判定性问题,之后贪心就行了,总复杂度 O ( n log ⁡ 2 n ) O(n\log^{2}{n}) O(nlog2n)。但心态使我没想到这个简单的做法,写了一个暴力(点度平方):排序后每次把最小的链取出,找到一条满足配对的最小链配对,无法配对时将最长的链上传。
菊花数据显然过不了,但已经有60分左右,速度转回B题。

B题想到性质:最优货币系统的货币集合一定是原货币系统的子集(证明略)。于是排序后,将最小的先加入答案,然后一个个判断是否能由前面的货币表示。然后就是愉快的完全背包,正解就有了……才!怪!

我又一次傻到分析不出完全背包。打了一个DFS暴力判断。

然后觉得前两题没啥搞头就继续想C题优化了,到结束都没走出死胡同。

出来之后一脸我是谁我在哪。发现大家都会A和B,而且做法是那么显然。尽管还是笑嘻嘻的打招呼,但是真的很绝望,感觉自己真的要退役了。

-绝望来的太突然是什么感受? -就是那种一桶带冰块的冰水从头淋到脚底的感觉。

Day 2

索性破罐子破摔了。我今天就是要打暴力!

A题不是树就是环套树。将无向边拆成两条有向边,先用边集数组存好,然后排序。同一点出发的桉一定顺序加入边邻接表中即可(之前训练的时候直接把无向边排序就加入邻接表,这次想明白了)。这样树就可以直接DFS求出答案。

环套树不能直接DFS了。观察在环套树中,我们相当于要实现在某一步反悔回退的DFS。考虑反悔,实际上就是不走某一条边(其实这里应该分析路径形成的是一棵生成树会更好)。枚举不走的那条边再DFS即可,复杂度 O ( n 2 ) O(n^2) O(n2)。评测机好像挺快,丢那不管。

B题这是个啥。
n = 1 n=1 n=1,答案是 2 m 2^m 2m m = 1 m=1 m=1 同理。
n = 2 n=2 n=2,答案是 4 × 3 m − 1 4\times 3^{m-1} 4×3m1 m = 2 m=2 m=2 同理。
n ≤ 3 , m ≤ 3 n\le 3,m\le 3 n3,m3,样例给了 n = 3 , m = 3 n=3,m=3 n=3,m=3 的答案。
50分有了(笑到掀桌)。

稍微分析一下,对于一个位置 b b b,假设右边的格子填的数记作 x x x,下方的格子填的数记作 y y y,显然 x ≤ y x\le y xy。若 x = y x=y x=y,只要之前合法,这么填一定合法。

关键考虑 x < y x<y x<y,即 x = 0 , y = 1 x=0,y=1 x=0,y=1 的是否合法。
如果从起点到 b b b 的所有路径中,有一对路径 i , j i,j i,j,满足 w ( i ) ≠ w ( j ) w(i)\ne{w(j)} w(i)̸=w(j),那么必须 x = y x=y x=y。这里可以画一下 n = 3 , m = 3 n=3,m=3 n=3,m=3 的方案来感性理解。

可惜想不到转移了。(如果搜索写一下说不定能发现等比数列的性质……)

C题部分分看上去好多。可惜我只会写 O ( n m ) O(nm) O(nm) 的对每组询问树形DP的做法。预计44分。

最后的时间花在了B题上,还是没想出来。

除了考场后发现大家好像普遍都是这个得分。Day2和Day1显然不是一个难度级别的……

如果忽略一些特殊原因,这次的题目是一套非常好的题(吧大约)。

D2T3好像超纲了……可谁知道NOIP的考纲是什么呢。(笑)

Day 3 ~ 5

半期考是一如既往的差,尤其是物理。上个学期我还能在平均分以上苟住,而今年……前半个学期的物理课基本上都是想题和睡觉中度过的(向hrd老师说声抱歉……),所以理所当然的,几乎交了白卷。

这非常难得,因为拉丁文试卷上的问题我一个也答不上来。我在试卷上首先写上自己的名字,再写上试题的编号“1”,经过再三考虑,又在“1”的外面加上一个括号,因而成了(1)。但这以后,我就什么也不会了。我干瞪眼没办法,在这种惨境中整整熬了两个小时,最后仁慈的监考老师总算收去了我的考卷。

——温斯顿·伦纳德·斯宾塞·丘吉尔

因为物理卷啥都不会,于是考试的全过程我都在思考人生。对Day 1发挥失常的苦闷?对高一好高骛远而没有抓基础的悔恨?还是对退役生活的迷惘?但更多的,还是脑海中一片空白,就是一片空白。

不知道该说诡异还是幸运,后来洛谷测出来D1T1D1T2都几乎AC,暴力水过去了,大约有454……

看起来是不用退役了。

用nealchen的话来说,那天中午,我和范进没什么区别。

轰,随后是一阵似笑又似哭的呜咽。——nealchen

Day X X X

我也不管是哪一天了。反正是出成绩的那一天。

464。

讽刺?侥幸?

至少放下心了。继续加油吧。

有鸟止南方之阜,三年不翅,不飞不鸣,嘿然无声,此为何名?

三年不翅,将以长羽翼;不飞不鸣,将以观民则。虽无飞,飞必冲天;虽无鸣,鸣必惊人。

——《韩非子·喻老》

你可能感兴趣的:(OI生活)