我觉得这篇文章还是要重构啊,如果哪道题调的久了就标上日期放上来吧。
2021/3/10
题目:玩游戏
( t memset) 不能直接清空一个指针指向的数组,因为不知道 ( t size)
void get(int n,int *a,int *b)
{
memset(b,0,sizeof b);
//直接上面那样写是错的!!!
....
2021/3/17
题目:城市建设
线段树分治怎么回退啊?
把修改的存下来,然后倒序逆修改即可,但是这道题我先删边再加边,所以就会错(所以那样做保险)
//下面的是错误的
for(int i=0;i<dl.size();i++)
cut(a[dl[i]],dl[i]),cut(b[dl[i]],dl[i]);
for(int i=0;i<ad.size();i++)
link(a[ad[i]],ad[i]),link(b[ad[i]],ad[i]);
//下面的是正确的
for(int i=d.size()-1;i>=0;i--)
{
int x=d[i].first,y=d[i].second;
if(y==-1) cut(a[x],x),cut(b[x],x);
else link(a[x],x),link(b[x],x);
}
2021-3-18
题目:常系数齐次线性递推
写多项式的题时候注意了,一些用来卷积的数组再用完之后就必须要清空了,要不然很容易 ( t Wa) 穿
2021-3-22
题目:[NOI2020]命运
计算的时候注意一下顺序,不要想用什么的时候他又被改了。
//那个傻逼东西会改,先访问右儿子
rs[x]=merge(rs[x],rs[y],mid+1,r,(s1+dp[ls[y]])%MOD,(s2+dp[ls[x]])%MOD);
ls[x]=merge(ls[x],ls[y],l,mid,s1,s2);
2021-3-27
题目:愤怒的小N
以后还是要玩小样例,手造小数据来调试是个好方法,要不然小细节打错根本调不出来。
if(s[i]=='1') pd[i]=pd[i-1]^1;
else pd[i]=pd[i-1];//考场没打这个
2021-3-29
题目:Wise Men
他吗的,(1) 的个数打成了二进制长度调你妈一年,淦,写题时脑子还是要清醒。
if(i) bit[i]=bit[i>>1]+(i&1);
2021-4-8
题目:孤独的解锁者
操你吗,费用流最短路写错求了,不能直接找到 ( t t) 就跳出啊 (...)(但是最大流能这么写)
while(!q.empty())
{
int u=q.front();q.pop();
//if(u==t) return 1;
for(int i=f[u];i;i=e[i].next)
...
题目:闪耀的灾星
草你吗,排序的时候没有吧概率带着走,我还以为是凸包写错了。
for(int i=1;i<=n;i++)
p[i].x=read(),p[i].y=read(),a[i]=read();
//sort(p+1,p+1+n);
2021/5/3
调一年,下次检查的时候一个字符一个字符看。
//if(x>y) swap(x,y),b[i]=1;
if(x>y) swap(x,y),b[x]=1;
2021/5/16
题目来源:Fib-tree
下次一定要注意变量改变的问题了,哎,这里 (rt) 我用了全局变量就凉了。
2021/6/15
后缀数组又写错了,注意枚举顺序。
for(int i=n;i>=1;i--) sa[c[x[y[i]]]--]=y[i];//mistake
2021/7/23
在函数内启发式合并一定要打取址符,要不然拷贝一份你直接炸掉。
2021/8/12
今天莫队给我写傻了,总结一下易错点:
- 普通莫队注意加入和删除的顺序,先加入再删除一定不会错。
- 回滚莫队注意特判左右端点在一个块内的情况。
- 维护最值用提前开好的 ( t vector)
- 一定要特别注意回滚莫队的起点。
2021/8/15
写 ( t dijkstra) 的时候一定要注意了,要加 ( t dis[u]<t.c) 就不扩展复杂度才是对的。
2021/8/20
三目运算符也要打括号,优先级可能出问题。
2021/8/23
注意 (lct) 打 (split) 函数的时候要把端点转到根才能查,(access) 之后一定要想一想要不要 (splay)
2021/9/9
( t nth\_element) 的格式是闭区间、闭区间、开区间。
2021/9/10
基环树找环注意不要把不在环上的点加进去了!
2021/9/12
线段树合并新建节点的本质是可持久化,那么修改也要对应的可持久化。
2021/9/23
变量名尽量不要设计得相似,要不然容易打错而且调不出来。
2021/10/2
(dp) 初始化的时候一定要注意,不适用转移方程的就要初始化。
2021/10/6
打整体标记的时候注意清空,清空是好习惯。
2021/10/11
( t cmath) 就踏马离谱,还是尽量别用,容易出问题。
2021/10/21
注意变量名的区别,比如 (n,m),测大数据时可以故意把他们错开。
2021/10/29
对拍的时候可以逆向生成(从答案逆推,界比较紧)比较强的数据。
( t sort) 的时候 ( t return 1) 是不交换,需要严格不等号。
2021/11/5
任何出题人给的信息都要读仔细了,比如 (993244853)
2021/11/6
考试时有任何问题一定要修改,就算改完也不一定是对的
2021/11/10
我再用 ( t vector) 我直播吃*
2021/11/12
虚树是欧拉入序和欧拉出序一起排,所以回溯的时候也需要 (cnt++)