2018.10.11
T1:
freopen("forging","r",stdin);
freopen("forging","w",stdout);
看着好像没什么不对??
freopen("forging.in","r",stdin);
freopen("forging.out","w",stdout);
100分惨变0分
总分150惨变50分
rk5惨变rk22
2018.9.21
T1(bzoj5218友好城市):
const int N=155,M=3e5+10,MX=5e4+10;
struct Q{int l,r,id;}qr[MX];
emmm,实际上询问是 3 e 5 3e5 3e5
const int N=155,M=3e5+10,MX=5e4+10;
struct Q{int l,r,id;}qr[M];
100分惨变30分
总分190惨变120
rk1惨变rk2
const数组常量最好不要开多个,很容易混淆。
2018.10.17
用memcpy把大小为1e5的数组a copy到了nxt大小为15的数组里(Windows下居然正常运行, l i n u x linux linux评测就RE了)。
memcpy(nxt,a,sizeof(a))
这类错误几个月前犯的很多。
2018.10.8
T2:
printf("%d\n",(f[x][m][K]+f[z][m][K])%mod);
emmm,实际上这里应该是上一个y
printf("%d\n",(f[x][m][K]+f[y][m][K])%mod);
i,j打反,顺手数组打错等等。
2019.4.2
rv=atan2(p[x].y,p[x].x);
写成了atan2(y,x),调半天
原因:
最近写搜索题时新发现的一个问题,数组传值进函数需要用结构体,否则直接f(int res[][])会传址,(即使是另一个函数的局部变量也会改变)
int,long long类函数没有return!不会RE但是会WA
多组数据时没有清空上一轮数据或没有优化清空方式导致TLE
for(i=0;i<ca;++i) reb[L+i]=fz[i];
for(i=0;i<cb;++i) reb[L+ca+i]=fy[i];
sol(l,mid-1,L,L+ca-1);sol(mid+1,r,L+ca,L+ca+cb-1);
错写成了
if(ca){
for(i=0;i<ca;++i) reb[L+i]=fz[i];
sol(l,mid-1,L,L+ca-1);
}
if(cb){
for(i=0;i<cb;++i) reb[L+ca+i]=fy[i];
sol(mid+1,r,L+ca,L+ca+cb-1);
}
然而在sol(l,mid-1,L,L+ca-1);
之后 f y fy fy数组已经改变了!!!