CSP2020游记
Day 0
晚上到了两江,宾馆好高档,碰到了zbw、lzc、yzw等人(看到了xt的WIFI),交流了一波题目,然后去和zbw、yzw到房间里做题颓废。结果晚上宾馆很热,半夜才睡着,睡得也不是很好。
Day 1 上午
起来还算清醒,吃早餐时感觉谁都认识我,和cwl一起坐的大巴,看他颓皇室战争
在门口集合了一下就进去了
开题!
看到A题题目名称吓死我,以为是NOI,看了一下这不是二进制拆分吗,几分钟写完了
看到B,动态第k小,这不是线段树上二分吗,还想了半天不用线段树怎么做,最后写了一个二分+树状数组,杀鸡用牛刀,我本来想到可以开桶做,但想到可能会被卡常,便没有写
此时过去了十几分钟
看了C题,哇题目好长,先看D
又是原题,有两个思路,一个是DP,一个是最短路
先写的最短路
结果写个dij,发现跑不过样例,突然意识到dij不是不能处理负权边吗,我傻了啊
然后改成spfa,还是跑不过样例,发现spfa反复进队的时候“只能走一次”不好处理,然后弃掉了
回去整C暴力,写了个栈
再回来看D,仔细分析性质,发现不能往左,此时可以考虑一个按列的DP,向右走就可以看成中转
然后精彩的就来了!!!!!
我先写了一个O(N^3)的朴素DP,然后想优化,因为最近刚好做过一道线段树优化DP的题,这不直接硬上嘛!
维护两个值,一个向上,一个向下,转移的时候对应区间查询
写了一会,感觉写完了,但是死活过不了样例,我有检查了几遍,感觉没有问题啊,怎么会错呢?
调了一会,还是没过,此时我还在想普及组为什么要考线段树,回去打了D对拍,又肉眼check B题
然后又回来调线段树,还是没调出来,失望地走出考场
然后开始抱怨为什么普及都要考线段树,其实明明是我傻了
中午出去吃饭,感觉好多人都切了后面两道,byf还AK啦!真是太强啦!
Day 1 下午
中午突然意识到自己写的树状数组0的情况可能判错了,一言难尽
中午没有睡觉,又有点焦虑,下午精神状态不是很好
提高组开始
一看到A,这什么大模拟题目这么长还这么恶心,看懂了就跳了,回来再写
又看B,一是精神不是很好,二是A题题面理解花费了一些脑力,B题也是看了半天才看懂
然后我觉得不一定可做,先写了个暴力
然后发现许多东西是没用的,这一优化,再开个map,不就成正解了嘛
然后就切了此时的我并没有意识到答案可能会超ull,而且为了保险我连ull都没开
又看C,感觉像数据结构,还有乘法?
我昨天晚上才给yzw说可能会考线段树维护乘法!!!!!
可我现在背不到了!!!!!
然后看完题,发现函数可以互相调用,因为没看到不会递归还想了半天这不是不可做吗
意识到不会递归,发现这是个图,DAG,拓扑排序?
先写出来
然后,用线段树维护乘法的思路想了一下,发现并不好做,因为每一个1或2操作都要看后面的影响,不能直接算出操作次数来算
当时开始进入状态了,但是还是没想出来,先写了个暴力
又看D,博弈论?
每条蛇足够聪明?
不太可做
瞄了一眼部分分,发现可以写二十,其他的都不是很好想,因为我不是很擅长博弈
那就先写了,回去刚A题
其实A题我看到了题先写了一会,不过根本写不来
这次回去是打暴力,看30分行不行
写完了暴力,此时17:00过了,我得选一道题刚
先看了一会C,由于没有用乘法分配律所以一直在死胡同里转
那么就看A了
A题我想可以用一个比暴力快一点的方法,按年枚举
然后开始写,样例一有一个点怎么都要多或者少1
自闭了,不写了
检查完一些东西就下考了
出来一堆人抱怨A题
zmr鸽鸽还和我交流了一下

总结:
普及......我觉得我在普及组上用线段树可真是天才啊
另外B题那个也不是很稳,写桶完全能过
以后真的应该能稳就稳,怎么稳怎么来
而且要仔细分析,用最简单的方法来做,比如D就可以用前后缀优化到O(N^2)
提高
模拟确实要加强
另一个是,以后要多练思维题,数据结构降智

复盘
普及
开局20分钟内切A、B
40分钟切D
剩下了两个半小时全写C
C题我也不能保证想得出来,可能就330吧

提高的话
A先跳
B 20min 搞定,上ull和特判
C 真的不保证想得出来,拿一个小时冲
D 30min搞定55分虽然我现在还不会
然后剩下的时间全写A,写个60、70左右吧,毕竟按年份跳也没有那么难