csp2024 复习计划

写在最后一次模拟赛后

其实感觉暴露出来我最近的一些问题。

面对难题,我最近几天的态度一直是:放空大脑,等待那个点子 burst into my mind,即更多地在凭直觉、而没有主动地与那些可能的方向做匹配。比如,要是知道往“对背包做值域优化”的这个角度去推,肯定要不了多久就能做出来昨天的 T2。本质上还是因为最近沉不下心做深度思考。

不知道一天以内有没有可能将这个状态调整过来……

不过明天的目标就是切 T1,T2(难度上等价的,注意前两题真的不一定是最简单的题),可能都轮不到冲 T3,T4 的正解。

压力还是不用太大,毕竟 csp 也可以当作 noip 的一个模拟赛。


考场策略?

注意:题目可能不按照难度排序,我们要注意甄别。

如果半个小时了,某道题还完全没有头绪,看看这道题部分分好不好写,如果好写就先写部分分,否则先写后面的换换脑子。然后再根据直觉判断是回过头来做,还是直接扔掉。

如果某道题一直调不出来,虚空调试超过 20min,快速打一个对拍。

对自己的码力要有概念。有时候你就算知道正解是什么,也不要去打。比如,之前有一次没有选择去实现常数更大而更好写的做法。(我对 unordered_map 的常数很不自信,emmmm)

观察大样例的强度,决定是否打对拍。就算对拍很难写,也需要手造极限数据测试空间、时间问题,以及边界情况检测特判。

随机数据下复杂度正确算法、随机数据下答案大概率正确算法都是好东西。

-std=c++14 -O2 -Wl,-stack=1000000000

考前注意事项 list

  • 注意下标越界(或许可以使用 assert 辅助检查)

  • (简单贪心题)注意答案可能有正有负

  • 未定义行为(e.g. 带符号整数算术溢出、越界访问、无限循环、++j 以及 j++ 在同一运算语句中出现、访问未初始化变量……)

  • 多测要清空(只要是多测,就挨个检查所有全局变量)

  • 没有计算空间大小(用两个 bool 变量地址差计算)

  • 仔细读题(如是否忘记判无解、是否按照要求输出、是否漏掉某些特判),有时可以写个暴力来验证读题的正确性。

  • 改动一个地方,而没有在后面对其对应逻辑进行修改。


from 同机房巨佬

image

内存访问:尽量连续。

分析方法:

  • 模拟样例

  • 打表

  • 抽象问题,做形式化数学推导

  • 正难则反


啊啊啊啊啊啊啊啊啊啊啊啊啊啊

先复习板子,再复习 Trick 和题目。

1. 数据结构

2. 杂算法

  • CDQ 分治、整体二分、点分治、点分树

  • KMP √

  • 可以做道大搜索练练手

  • 模拟退火(还是不看了,害怕影响考场分析正解思路。)

3. 图论

  • 最小生成树、最短路建模相关的一些 Trick

  • 次小生成树 √

    P4180 [BJWC2010] 严格次小生成树:(其实不管是不是严格次小,都应当用这个思路来做)建出最小生成树,再在上面做树链信息维护,而这可以用树上倍增做。

  • 欧拉路(不打算复习了,反正这个知识点可以出得很难。。。)

  • 强连通分量、割点、割边 √

  • 树的直径相关的贪心结论

4. DP

(不用问了,问就全部都是按照 Trick 和题目来复习。)

  • 背包:这几天遇见过不止一次了,就是以背包问题为蓝本,对值域进行优化的题目。以后再遇到类似的,我们应该清晰地认识到这是哪一种背包模型,然后试着用贪心或数学分析等方法优化值域,而非尝试用另外一种算法来解决。

  • 区间 DP

  • 树形 DP

  • 数位 DP

  • 状压 DP(把宝藏给补上 qwq)

5. 数学

可以以洛谷题单里面的题作为复习蓝本。

  • 错排 √

    其实很简单。两个角度:递推、容斥。

    • 递推:考虑先在第 \(n\) 个位置放入 \(n\),然后与前 \(n-1\) 个数中的某些交换。于是有

      \[D_n = (n-1)(D_{n-1} + D_{n-2}) \]

    • 容斥:考虑钦定几个位置不合法,则有

      \[D_n = \sum_{k=0}^n (-1)^k \dfrac{n!}{k!} \]

  • Catalan(好巧,昨天刚好考了。。。)√

    \[\dbinom{2n}{n} - \dbinom{2n}{n-1} \]

    可以推广到一类有折线限制的格路计数问题。

    单折线还比较简单。双折线则较为复杂,总体来说思路是容斥,可以见 P3266 [JLOI2015] 骗我呢 中的代码注释。

  • 高斯消元 √

  • 矩阵乘法相关题目 & Trick

posted @ 2024-10-21 20:36  David_Mercury  阅读(27)  评论(0编辑  收藏  举报