【比赛】2023 NOIP 备战

2023 NOIP 备战

考试策略

  1. 20min 左右通读题面(一定不要读错题,结合样例分析
  2. 每道题题至少保证 50pts 左右的暴力
  3. 不必按照顺序做题,那道题最有希望先做哪道

  1. 随时存盘
  2. 时间分配
    1. 注重暴力(特别是没有思路的时候,有时间就打
    2. 不要在没把握的的,耗费太长时间
  3. 80pts - 100pts 都可以认为是正解(不要优化常数
  4. 先想再写
  5. 对拍
    1. 好写的对拍哪怕是暴力也好写暴力
    2. 不要太以来大数据
    3. 对拍以验证正确性为目的(不要用于验证性能
  6. 重视静态差错
  7. 宁愿少开空间,也不要 MLE(算好空间
  8. 最后 15min 不要打新的代码(文件输入输出,
  9. 中途感觉前一半时间荒废了,不要再想以前浪费的时间了。调整好心态
  10. 及时调整预期得分
  11. 相信自己!!!

一些链接


备忘

数学

图论


知识点补漏

数学

  1. 二项式定理

    \[\large(a+b)^n=\sum\limits_{i=0}^n {n\choose i}a^ib^{n-i} \]

  2. \[\left(\large\sum\limits_{i=1}^ka_i\right)^2=\large\sum\limits_{i=1}^k a_i^2+\large\sum\limits_{i=1}^k\large\sum\limits_{j=1}^k[i\neq j]\cdot2a_ia_j \]

    可用于在计数类问题

  3. 积性函数

    若函数 \(f(x)\) 满足,\(f(xy)=f(x)f(y)\),则称其为积性函数。

    ps. 一般如果 \(f(x)\) 的构成部分相互独立,可以考虑它的积性。

    可用于简化时间复杂度。

  4. 一个数的质因数个数显然不会超过 \(\log_2 n\)

  5. 矩阵乘法可视化: http://matrixmultiplication.xyz/


数据结构

  1. 可否还记得 单调栈。【板板

根号做法(平衡时间复杂度)

  1. 首先可以想出两个暴力,然后用一个标准变量去衡量两个做法的时间复杂度。
  2. 对于统计一个变量导致不同的 ans,可以考虑最终答案的一些性质(比如单调性,不同的 ans 个数)【Till I Collapse

动态规划 DP

  1. 如果对 dp 状态、转移方程等信息都明晰(包括时空复杂度度没问题),只是不知道转移顺序可以考虑 记忆化搜索。【Hossam and (sub-)palindromic tree
  2. 树背包推荐使用 “刷表法”。并记得倒序枚举【Karen and Supermarket

网络流

  1. 时间复杂度

    Dinic : \(O(n^2m)\)

    Dinic 求解二分最大匹配 \(O(\sqrt nm)\)

  2. 费用流

    记得加在 Dinic 里加上 vis 标,因为 SPFA 跑出来的分层图肯能有环。


Some Tricks

2023.11

  • 思路不要太局限,线段树里面可以同时维护好几个东西,然后相互作用(维护)【CF1701F Points
  • 区间最优解问题,不一定要枚举右区间,还可以枚举其它有特征的数,eg. 最大值【Comfortably Numb

考试总结

11.11 联合模拟赛34

  1. 得出了一个更普适的结论,可以尝试用它来解释特例,以减少码量并减少写挂的可能【T2】

  2. 码力还是不够。。。【T2】

  3. 一道题想清楚了再开打【T1/2】


11.13 联合模拟赛35

  1. 思路如果没问题的话,不妨换个角度去实现【T1】

    多考虑一下题目中的一些特殊性质,可能让时间复杂度变为均摊


11.14 联合模拟赛36

  1. 栈是一个好东西((【T3】

  2. 博弈论 直接研究初末状态找结论【T2】


11.16 联合模拟赛37

  1. 概率问题,如果总方案数很好球,就直接转化为求合法方案数再除一下【T2】

    推式子题一定先在草稿纸上推好了,再码代码【T2】

  2. 计数类问题,用好容斥


日常犯智

  1. 只要不会 MLE 能 push_up 就不要在更改的链上更新。

  2. vector 的去重:v.resize(unique(v.begin(), v.end())-v.begin());

  3. set & vector 的空间复杂度会比数值上算出来的更多一点。

    如果只需要用 set 的去重功能,可以开一个内存池(?

  4. \(\Large\star\) 初始化的时候,如果能顺序赋值的话就不要 “跳来跳去” 的赋值(可能会被卡常(但是确实会慢 600ms+

  5. 平衡树 Split 忘写 push_up

posted @ 2023-11-11 16:46  CloudWings  阅读(289)  评论(1编辑  收藏  举报