一些注意的点

  • 素因数分解最后不要忘了判断>sqrt的素因子
  • 字典树求异或最值要提前插入0
  • 按字典序排序, 可以相等, 不要写成>
  • 主席树下推标记时, 若儿子不存在要新开结点
  • $x$的最大因子是$O(x)$的, 范围大要开$long long$
  • 构造题要保证最后输出的是正整数, 填数时要保证不要把long long填入int数组里
  • 预处理阶乘要注意开long long, 阶乘的逆别忘了初始化ifac[0]=1
  • $\mu$函数有负值, 最后要判断负数
  • 线段树upd(v)时不要忘开long long !!!!!!!
  • long long别赋成int_max
  • 维护差分时要特判长度为1的情况
  • kmp若字符集有0,匹配成功后要加一句j=f[j]
  • 线段树维护颜色要记着下推标记!
  • deque迭代器相加会错, 要用自增
  • dijkstra堆结点要把边权存进去, 不然会改动
  • CDQ询问分解以后空间要开大
  • CDQ分治的时候要把树状数组清零
  • 区间长度为long long时相乘要记得取模.
  • 分母大于P时, 取逆元不能用递推!!
  • 要检查是否特判重复
  • 要注意空集的情况,题面没说也要特判
  • 多组数据要重置dfs序的编号
  • 要注意'#'不能走
  • dp状态前推要考虑数组越界
  • 双指针要特判只选一种物品的情况, 要特判不选物品的情况
  • 字典树数组要开到总字符串长, 不要开成总字符串个数
  • 字符串输出要加'\0'
  • 起点固定,要注意初始化dp[1]
  • 交题的时候记得把memset删掉!!
  • 数据保证distinct, 但是绝对值不一定是distinct
  • 注意模数为1的情况
  • 注意移64位溢出,
  • i^1不要写成!i
  • 和为素数, 筛法要筛两倍
  • 滚动数组要注意初始化
  • map判断是否存在要写成.count(x)
  • $multiset$排序非常慢, 这个题对三个数排序比$vector+sort$慢了500ms以上
  • 二分答案上界2e9相加会爆int!!!
  • CF1201D 要特判第一行
  • 去重尽量别用$set$, 会RE (CF1200F)
  • 状压一定要以$0$为最低位
  • 任何情况的初始化都要多初始化几格, 从0到n+10
  • 变量值调整以后要注意检查是否会影响之前代码
  • 高维数组要注意看清, 不要写反!!
  • $vector$里变量地址会变, 不要用指针指向vector里的东西
  • set查询最接近的数lower_bound判end, --upper_bound判begin
  • 对拍拍不出来, 要看数组是否越界, 迭代器是否越界
  • 简单贪心题 因为写成先添加后删除,导致删除时候堆已经改变,WA了一发
  • 模数小的时候(1e6以下), 求$fac$要遍历到$P-1$, 不要到$N-1$
  • FFT卡精度: (1)预处理单位根的幂 (2)复数用complex类, 单位根的幂用exp求
  • 要检查循环顺序有没有写反
  • 重边要注意!!! 算度数的时候不能直接当成1, 沈阳网络赛因为这个没拿到名额
  • 特判要注意优先级, rng_10s 特判顺序错
  • 判断奇偶性不要写成$x%2==1$, 负数不成立
  • 题目要求取正整数必须要至少取一个!! hdu6546
  • 个数求出来如果是负数要输出NO!!, atcoder 2303
  • 1e9的数相加取最值, INF不要设成0x3f3f3f3f, CF1217E
  • 特判掉显然成立的大数据 796E

你可能感兴趣的:(一些注意的点)