@totorato
2018-11-06T02:52:15.000000Z
字数 768
阅读 594
其中(ll)在考试时忘记写上
for(int i=0;i<10;i++)tot=(tot+(ll)(b-a+2-ans[i])*(ll)ans[i]%MOD*(ll)mov(i)%MOD)%MOD;
网络流建图时边权变成了负数
for(int i=1;i<=g.n;i++)
{
double wei=g.val[i]*k-g.hur[i];
if(wei>=0)t.addeg(S,i,wei),t.addeg(i,S,0),possum+=wei;
else t.addeg(i,T,-wei),t.addeg(T,i,0); //考试时忘记写上负号
}
K-D Tree删除节点
void destroy(int a)
{
if(tre[a].s[0])destroy(tre[a].s[0]);
tab[++num]=tre[a];
delnode(a); //这样会导致tre[a]被删除,无法递归访问右子树
if(tre[a].s[1])destroy(tre[a].s[1]);
}
误认为Splay节点x后原根节点一定是其儿子。原因是Splay双旋的特性使得父节点也会旋转。
LCT各种操作在access(x)完后仍需要splay(x),原因是access操作形成了一棵维护根到x的路径的splay,此时x并不是根,需要旋转到根。
需要特判1,否则可能RE。
不要路径压缩,这样会爆空间。
原因:达到了级别。