OI日常

抱灵技巧

  • 不用\(namespace\)或者\(c++11\)的话,变量名不能定义\(y1\)

  • 求逆元时\(inv[0]\)一定要初始化为\(1\),不然组合数会出锅

  • 杜教筛数论分块\(l\)要初始化为2

  • 线性筛莫比乌斯函数的时候\(mu[i]=1\)

  • 一定要计算程序内存是否过大,实在不会的话可以利用函数检验,在\(cmd\)里面使用 \(size \ ....exe\)

  • linux下评测时头文件不能加\(windows.h\)

  • 平衡树有关的序列操作,如果牵扯到\(a[0]\)时,记得在最开始初始化时将\(a[0]\)加入平衡树

  • 对于多组数据的问题时,特判后也要记得读完所有数据

  • pow函数不能处理结果大于int的幂

  • 斜率优化时单调队列初始化 \(h=0,t=0\)不然会少更新前几个元素

  • 主席树维护区间个数时,要么\(insert\)时对于来的路径上的每一个点手动\(+1\),要么写\(pushup\)

小trick

  • 链式前向星删边可以打\(tag\)实现

  • 维护取模的题可以考虑用作差维护,余数 = 总和 - 商 * 除数 ,当除数或商不变时,只需要维护另一个值的个数就可以了

  • 对于区间上可合并的问题,可以考虑倍增或者线段树,但倍增有可能会被卡

posted @ 2020-10-15 21:42  youth518  阅读(110)  评论(0编辑  收藏  举报