[关闭]
@totorato 2018-11-06T02:52:15.000000Z 字数 768 阅读 594

错误

20180223test:

其中(ll)在考试时忘记写上

  1. for(int i=0;i<10;i++)tot=(tot+(ll)(b-a+2-ans[i])*(ll)ans[i]%MOD*(ll)mov(i)%MOD)%MOD;

网络流建图时边权变成了负数

  1. for(int i=1;i<=g.n;i++)
  2. {
  3. double wei=g.val[i]*k-g.hur[i];
  4. if(wei>=0)t.addeg(S,i,wei),t.addeg(i,S,0),possum+=wei;
  5. else t.addeg(i,T,-wei),t.addeg(T,i,0); //考试时忘记写上负号
  6. }

20180224:

K-D Tree删除节点

  1. void destroy(int a)
  2. {
  3. if(tre[a].s[0])destroy(tre[a].s[0]);
  4. tab[++num]=tre[a];
  5. delnode(a); //这样会导致tre[a]被删除,无法递归访问右子树
  6. if(tre[a].s[1])destroy(tre[a].s[1]);
  7. }

20180311

误认为Splay节点x后原根节点一定是其儿子。原因是Splay双旋的特性使得父节点也会旋转。

20180502

LCT各种操作在access(x)完后仍需要splay(x),原因是access操作形成了一棵维护根到x的路径的splay,此时x并不是根,需要旋转到根。

Pollard Rho

需要特判1,否则可能RE。

主席树可持久化并查集

不要路径压缩,这样会爆空间。
原因:达到了级别。

Splay 在 insert 时, splay 插入的节点会使引用的变量改变,因为这个变量引用的是它的父亲的儿子变量。

缩点,1号节点编号不一定还是1

hash时一定要合并同类项,否则复杂度直接乘n

tarjan求点双联通分量时,栈的大小应该是边数,而不是点数

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注