弱智错误集锦

没有脸没有皮。

1. 变量开 long long ,运算过程中操作数是 int ,结果开 long long 爆 int 。

目前错误次数:2

eg:

long long ans;

WA:
ans+=(nowrk[i]-orirk[i])*(nowrk[i]-orirk[i]);
AC:
ans+=1ll*(nowrk[i]-orirk[i])*(nowrk[i]-orirk[i]);

2. 文件读写 输出写成 stdin 。

目前错误次数:1

eg:

WA:
freopen("lhp.out","w",stdin);
AC:
freopen("lhp.out","w",stdout);

3. 循环变量 i,j,k 写错。

目前错误次数:2

eg:

WA:
for(int i=1;i<=n;i++)
{
	for(int j=1;j<=m;i++)//j写成i
	{
		cout<<c[i][j]<<endl;
	}
}
AC:
for(int i=1;i<=n;i++)
{
	for(int j=1;j<=m;j++)
	{
		cout<<c[i][j]<<endl;
	}
}

4. 字符串 ub 行为。

目前错误次数:1

eg:

WA:
string s,str;
str=""+s[i];

AC:
string s,str;
str="";
str+=s[i];

5. 树形 dp 里 dfs 时,整棵树的大小写成 sz[u] 而不是 sz[root]

目前错误次数:1

eg:

WA:
ans=(ans+((1ll*(sz[u]-sz[v])*(sz[u]-sz[v]-1)/2)%mod*sz[v]%mod))%mod;

AC:
ans=(ans+((1ll*(sz[1]-sz[v])*(sz[1]-sz[v]-1)/2)%mod*sz[v]%mod))%mod;

6. 位运算不注意优先级,不打括号。

目前错误次数:2

eg:

WA:
if(!(i>>j)&1)

AC:
if(((i>>j)&1)==0)

7. 左移操作不加ll

目前错误次数:1

eg:

WA:
1<<40

AC:
1ll<<40

8. 多测不清空!!!!!!!!!!

目前错误次数:3

模拟赛血与泪的教训!!!!!!!!!

T1怒挂100分!!!痛失AK!!!

eg:

WA: 什么都不加

AC:
void solve()
{
	memset(dp,0,sizeof(dp));
	......
}

9. 局部变量不赋初值

目前错误次数:2

eg:

WA:
int query(int p)
{
	int ans;
	while(p)
	{
		ans+=tr[p];
		p-=lowbit(p);
	}
	return ans;
}

AC:
int query(int p)
{
	int ans=0;
	while(p)
	{
		ans+=tr[p];
		p-=lowbit(p);
	}
	return ans;
}

10. 函数没有返回值 / void函数有返回值 。

目前错误次数:3

特征:出现莫名其妙的数字。

eg:

WA:
int query(int p)
{
	int ans=0;
	while(p)
	{
		ans+=tr[p];
		p-=lowbit(p);
	}
}

AC:
int query(int p)
{
	int ans=0;
	while(p)
	{
		ans+=tr[p];
		p-=lowbit(p);
	}
	return ans;
}

11. 树状数组的 lowbit 没有特判 0

目前错误次数:2

特征:TLE。

eg:

WA:
void update(int p,int v)
{
	while(p<=n)
	{
		tr[p]+=v;
		p+=lowbit(p);
	}
}

AC:
void update(int p,int v)
{
	while(p<=n)
	{
		tr[p]+=v;
		p+=lowbit(p);
		if(p==0)p++;
	}
}

12. 链式前向星不开双倍空间

目前错误次数:2

WA:
const int N=100005;
int h[N],e[N],ne[N];
......

AC:
const int N=200005;
int h[N],e[N],ne[N];
......
posted @ 2024-07-07 22:02  KS_Fszha  阅读(9)  评论(0编辑  收藏  举报