Day 0
一天都挺颓的,尤其是晚上打了好几局 Dream League Soccer。
不过这天也成功卡过去了上一场 Div.1+Div.2 的根号分治+整除分块+分块(根号平衡)做法。
晚上出了一道水题,就睡觉了。
Day 1
奇葩,CCF 等到 101010 点才发题,我还以为取消了。
发现 A 似乎并不困难,很快就想到了正解,但是非常难写。于是我看了看后面的 B,C,感觉都可以拿分,于是我就决定了——把 A 的 555555 分暴力写完走人。然后写了一个半小时之后调试完毕,然后测了下大样例,其中一个顺利通过,另一个 RE。调了半天认为是爆栈(实际上是真的 RE 了),然后就抛掉不管了。
接下来我开了 C。观察了半天那个 x→z,y→zx \to z,y \to zx→z,y→z 则 x→y/y→zx \to y/y \to zx→y/y→z 的性质并没有发现什么,反倒是发现了这个性质在 m=n−1m=n-1m=n−1 时对应一棵外向树。于是我就分类讨论了 k=0/1k=0/1k=0/1 的情况,并通过大样例使自己的情况完备了。同时也写了个暴力,期望有 444444 分。
B 首先得到了 k=2,n1=10k=2,n_1=10k=2,n1=10 的分。然后想了一会儿,发现可以用匈牙利算法二分图匹配来做掉总数不超过 111 的情况。然后就码了一发,期望有 404040 分。
然后比赛就结束了。最后也没什么好干的,感觉已经做到最好了。
口胡总分: 55+40+44=13955+40+44=13955+40+44=139
期望总分: 55+40+44=13955+40+44=13955+40+44=139
最终得分:10\huge{10}10+40+44=94+40+44=\huge {94}+40+44=94。
Day 3
CCF 故技重施,8:30->9:00,原因是网站炸了。然而我在 8:56 就在网站上看到了题目的名字。
开场看题,感觉题目很难。
先做了 T2。由于我之前做过一道 LOJ NOI Round 的相似的题,所以我很快就得到了 505050 分的做法。然后观察了半天不会正解,于是就写了这 505050 分。共写了三个 Subtask,调了两个小时一刻钟才过了几个大样例。
然后开了 T3。看了样例解释,发现可以容斥。扩展到一般情况,我很快得到了 O(2nn2m)O(2^n n^2m)O(2nn2m) 的做法,很快又得到了 O(n2m+2nn)O(n^2m+2^n n)O(n2m+2nn) 的做法,可以得到 282828 分。然而调了 222 个多小时硬是没调出来,也因此连 T1 的暴力都没写。
最后三分钟,我决定放弃了。T1 总是输出 000,T3 就把自己的过不了大样例的代码交上去。
口胡得分: 28+50+28=10628+50+28=10628+50+28=106
期望得分: 0+50+0=500+50+0=500+50+0=50
最终得分: 12+0/50+12=24/74\huge{12}+0/50+\huge{12}=\huge{24/74}12+0/50+12=24/74
T2 把 void 写成了 int,没有返回值,希望 CCF 留命。
Day 3.5
铜牌线 216216216 分,发现不管怎么样自己都有 Cu 了。银牌 310310310 分,要是两天都不犯傻逼错误我不就 Ag 了呀啊啊啊……
最近一直在口胡,所以要好好锻炼一下码力了。
Day inf
发现自己 Cu 了,感觉很不错。
本文回顾了一场包含Div.1+Div.2难度的比赛经历,作者分享了在比赛中解决算法问题的心得体会,包括分治、整除分块等技术的应用。
1027





