WC2021打铁记

· · 个人记录

假设有 l 到 r,这是 l,这是 r。这些边我不加,这些边我不加!暴力怎么做?暴力是不是,加边!加边!加边!然后,并查集查询。

8:30

开题发现 T3 题目名感觉很和谐,就先开了 T3

看了下数据范围,感觉要用 crt/excrt

然后就先写了 Sub1 的暴力分

写完后发现 F_p=af_{p-2}+bf_{p-1}

然后发现 Sub2 和 Sub3 很好写于是就去开T1T2了因为考前听说只要写暴力就行了

8:45

读完 T1 和 T2,感觉 T1 暴力更好写,就先开了 T1

8:50

想了一个很暴力的 dfs,复杂度大概 O(n^2(2m)!) 只能过 Sub1,然后就开始写了

10:00

终于写完 T1 的暴力了,测了一发,发现样例2没过然后抱着电脑卡死的心态测了样例3,竟然过了还没超时

10:10

发现每条边可以重复走

裂开了

10:30

代码调出来了 样例3是个假的大样例吧

然后开 T2

10:45

读完题发现和 CSP2020-J T3 一样要建表达式树然后发现自己不会就没建

然后想了一个 O(nm\left|E\right|) 的做法就开始写

11:30

写完了,一发过了样例1和样例2,样例3挂了

然后调调调

11:45

发现自己看错题了

裂开了

11:50

发现 Sub1 和 Sub2 很好写,开始码码码

12:50

加上了一个枚举问号的 dfs,然后过了样例123

13:00

想起了 T3 的 Sub2 和 Sub3

测了一下 Sub1 的代码,突然发现样例3挂掉了之前还能过虽然超时了

然后一直在找错误

13:25

发现样例3的 n 和 m 都是 5000,感觉很疑惑

突然想起之前为了测多大的数据能跑完就改了样例3

重新下载了一份,发现没错

裂开了

13:30

听见有人 200pts

裂开了

考完后拷了一份代码回家,在家里看了下自己的代码

发现 T3 头文件下面有一行

#pramga GCC optimize(2)

估分 16+35+0=51

裂开了

成绩出来了

实际得分 36+50+30=116

Ag 都没有

裂开了

upd:

  1. 知道为什么 T3 有 30pts 了

一开始加 O2 前交了发暴力

后来写完忘交上去了(

  1. T3 暴力为什么有 30pts

过的点是 #1 #2 #10

这个 #10 可能是循环节太小了就草过去了)