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)实现

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

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

原文地址:https://www.cnblogs.com/youth518/p/13823360.html