CSP2019游记

Day -不知道多少

第一轮

题出得挺好,终于没有鬼畜的CCF赞歌了

考得还行

Day -1

复习了Tarjan并伪证了一遍,然后颓废了

安利E17大失败

放了几十个满贯

给某同学科普了一些不好的东西,现在他好像自闭了 我谢罪

Day 0

继续肝Tarjan然后想自闭了

于是写了个左偏树,调自闭了

下午看了今年的博客 发现鸽子本性暴露无遗,跟去年完全没法比了……

看了几篇题解,越看越内疚,就关了

不敢写下去了

Day 1

(直接跳到发题)

密码认真思考……emm……

打开题,一股表达式树的气息扑面而来

T1啥玩意啊

T2啥玩意啊

T3啥玩意啊

……

仔细读题

T1好像是模拟

T2树上括号匹配子串个数?

T3……?

8:30开始写

把构造方法都告诉你了,模拟无误……

模鬼啊, 2 64 2^{64} 264

下意识地转成二进制发现是个SB题,切了

8:45

T2一眼DP

用回文树的思想乱搞一下……

然后越推越自闭

……先考虑链的情况

……发现没什么区别

然后冷静下来,重新推一波,推出了一个 O ( n 4 ) O(n^4) O(n4)的优秀DP做法

开始思考括号序列的性质

情况复杂是因为两个可以拼成一个

然后发现如果把一个不能拆分的合法子串称为一个"基本串",那么一个位置结尾最多有一个基本串。

证明:

反证法,设某个位置结尾有两个基本串,设为 S S S T T T,其中 ∣ S ∣ ≤ ∣ T ∣ |S|\leq |T| ST

由基本串定义, T T T的前 ∣ T ∣ − ∣ S ∣ |T|-|S| TS位一定不合法

考虑括号序列的求法:将每个字符入栈

因为 S S S合法,所以在栈中会消完,所以剩下的是 T T T的前 ∣ T ∣ − ∣ S ∣ |T|-|S| TS位,和 T T T合法矛盾。

然后用栈维护基本串在哪里,记录栈顶和栈大小,回溯的时候还原

写出来一发过小样例美滋滋

……然后WA了中样例

造一组小的测出来不对,调试发现栈顶写成了栈大小……

修改后过了中样例

测大样例

激 寒 营 业 不 可 避

什么垃圾样例啊

……然后爆栈了

……然后发现忘了扩栈命令

于是开虚拟机测过了

丢了不管了

9:40

T3一眼不可做

……暴力10分差评

想了个显然的贪心,然后显然挂了

思考了一下完全没思路,10:20

骗分吧

先写个 O ( n ! ) O(n!) O(n!)

链的情况好像可以直接贪心?

写一波发现很精神污染

11:00

大脑一片混乱,于是上了个厕所(雾)

回来马上发现可以分治(大雾)

写出来不停WA,被排列过去映射过来搞晕了

把条理理清之后过了自己写的样例

……再测一组WA了

心态崩了,不写了

11:30

开虚拟机编译通过

……然后想起了扩栈命令

水过剩下30min

预计100+100+10=210

出来发现全世界都210

Day 2

由于写这篇游记时隔太久,所以忘了很多细节

打开题面,一股硬核的气息铺面而来。

T1阅读题 读了半天读懂了

T2显然不是DP就是神仙贪心

草样例三爆ull了啊

T3断一条边求所有重心标号和

感觉很可做,但就是不会做

这时

对于 t y p e = 0 type=0 type=0的所有测试点,保证最后输出的答案 ≤ 4 × 1 0 18 \leq4×10^{18} 4×1018

你真棒

怎么比昨天还难啊……看来错怪D1T3出题人了

开始肝T1

……相当于每行最多选1个,每列不能过半,贡献为选的所有数的积,求总贡献

显然DP

数次读错题,一直在想怎么把所有列的信息压缩,怎么都退不出来

到9:30

……10点钟想不出来就打暴力吧

脑子一闪,注意到“不能过半”,这个性质一直没用

会不会有什么特殊性质?

不能过半什么意思?就是比其他加起来都多

也就是最多只有一列过半!

然后容斥就可以了!

f ( i , j ) f(i,j) f(i,j)表示当前在第 i i i行,最多的一列选了 j j j个的方案数

写了一半发现完全假了,要确定哪一列最多

f ( i , j , k ) f(i,j,k) f(i,j,k)表示当前在第 i i i行,第 j j j列选了 k k k个的方案数

写出来死活过不了样例

唉……?

好像某一行可以不选

可是不选的不统计入总数啊

于是极其硬核地设 f ( i , j , k , l ) f(i,j,k,l) f(i,j,k,l)表示当前在第 i i i行,第 j j j列选了 k k k个,一共选了 l l l行的方案数并推出了极其硬核的方程

i i i滚一下就可以了 复杂度 O ( n 3 m ) O(n^3m) O(n3m) 可能卡得过去?

然后写出来极其硬核的代码,还是过不了样例

10:00

上个厕所,回来一眼就发现下标输错了(弥天大雾)

然后顺利过了所有样例

然后造一组极限数据T了

重新算一下,过得了才有鬼了……

于是只有84分 感觉很近了,但就是想不出来

10:30 弃了

后面只能暴力了……

T2推了一下毫无进展,于是直接 O ( n 3 ) O(n^3) O(n3)dp艹36分走

T3直接暴力拿40,然后链似乎很好做 共计55

(实际上后面完美二叉树也水得要死)

预计84+36+55=175

那我上不了400啊……

粗略看了一下好像水不了多少分了

于是Linux编译测空间走人

–End–

After Story

这分应该毫无悬念了,各个数据测出来都是385

最终成绩也是385了

以下内容有大量OI无关意识流文字,谨慎阅读

文化课生活很充实,很空虚

两周补完所有理科,还要补完所有作业,平时的还不能落下

尽全力搞完生物却还是跟没学一样,考试几乎每道题都触及知识盲区,每涉及一次就把相关内容写书上,然后之后的考试永远钻不会的。

还有几篇背哪里都不知道的文言文,无从下手的英语单词,以及不明觉厉的地理,政治历史只能自我安慰。

生物的伪半期考试取得了59分的好成绩,叶绿体基质,胸腺嘧啶脱氧核糖核苷酸,结合水,丙酮酸——似乎找回了OI的刺激感——太阳风,东南风,磁暴,黄赤交角,皆白衣冠以送之,哀怨又彷徨,然后知松柏之后调也,adaptation……

文化课并不难,但也不简单,但真的很简单,但真的很难

几年前支撑我的是OI,之后是OI圈,之后是各个网络小众亚文化

OI生涯虽然没有结束,我仍然热爱它,可再也不会拼死拼活了,也不会学全世界没人会唱的OI歌——包括创作者。

本以为OI圈十分友好,后来发现小鬼无处不在

寝室里开始杰哥不要,猛男新宝岛,我逐渐意识到亚文化也有衰亡的一天。可他们对这样的话题似乎毫无兴趣,或许认为我是傻子——或许我本来就是。

现在支撑我的是什么?我也不知道。

有个笑话,你的几亿个细胞全为了你一个人而拼死拼活,你不努力对得起它们吗?

似乎很滑稽,可这可能是我的真实状态。

我愿意无限重复停课的日子——或者现在学文化课的日子也不错——没有压力,但有目标——没什么CSP,也没什么期末考试——一切都不会改变。

公无渡河。
公竟渡河!
渡河而死;
其奈公何!

你可能感兴趣的:(CSP2019游记)