发现自己十分粗心,几乎总是会错细节。
所以只是一些想要提醒自己注意的东西,当然也提醒看到这的你。w
新年要好好努力w 要记得写新年计划w
等期末考后再更新一下博客。


正确性

  • 最值标记要注意初始化的取值。

    • INF = 0x3f3f3f3f是对int的取值,要考虑是否过小;
    • 下界选择是否过大:lower = 0或者是lower = -INF
    • INF只能memset一个int数组;long long或是double若是在struct或者是class考虑直接使用构造函数赋始值。
  • 取模 检查三个地方

    • 预处理
    • 执行过程
    • 输出控制(有可能是负数需要加一个模数吗?)
  • 强制在线(输入解密)

    • 注意输入范围提示,$ l < r $ 不代表 $ l' < r' $ 。
  • 维护信息的时候一定要明确区分维护的是当序列、前缀和序列、差分序列的哪一个。
  • 特殊情况(极限情况)

    • 区间长度为零
    • 特殊定义
  • 进行 XJB 优化的时候注意变量类型!!!防止用一个 int 拷贝 long long 的情况出现然后被卡成 0'
  • Trie 及基于 Trie 的数据结构内存池要乘一个 $ |\Sigma| $
  • !!!对拍结束的时候要检查

    • 保留最终提交文件及文件名
    • 代码内输入输出文件的名称
    • (via WHJ) 不如对拍脚本先 copyfc 避免代码内文件名称的问题
  • 蛤习 ull自然溢出 base选四个质数

时间常数

  • 预处理的范围可由输入范围确定从而减少预处理量orz

调试

  • 发现数据大某个范围全部出错,可能/须重点检查

    • 大数处理不当(long long)
    • 取模处理不当(比较不可能
    • 程序中某一处参数有误,特别是那些只有输入增加很大才会增加一点的变量
  • 网格图卡 SPFA (TBP)

FFT

关于 FFT 的实现,要注意

  1. 把长度开到度数的两倍。
  2. long long 进行中间运算和存储,谨防出错。

仅有一条评论

  1. # orzfr
    %%%%orzfr%%%%
    您太强啦

添加新评论