zxy的猪错误

我觉得这篇文章还是要重构啊,如果哪道题调的久了就标上日期放上来吧。

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++)

原文地址:https://www.cnblogs.com/C202044zxy/p/14123674.html