错误合集

遇到交互题要求刷新缓冲区要用 cout<<endl;endl 有刷新缓冲区的作用。具体详见Lost Tree

要注意临界初值。

输出单个字符用 scanf 的话 -> scanf("%c",s)(大概连这个都不知道的只有我了吧。

没开 long long 挂 50 pts,警钟撅烂。

要考虑边界值,考虑最后的情况,最后一个位置是否应该有值?最大值 or 最小值?要考虑最后的m结尾要加最大值

分清变量/fad。(这什么啥b错误。

一个自己想出来的小 trick(?:清空 vis 数组时,若有多次操作,可以对每次操作进行编号,然后通过判断当前 vis 与当前操作编号是否相等来判断是否走过了。

取最大值时,如果本来的值有负数的情况,注意存答案的变量要赋初值为比出现的值小的值。比如Golden Sword

注意状压 dp 开数组的时候的大小。吃奶酪

特判特殊性质后面加 return 0;

读题!读错题意在模拟赛中挂掉 30+ pts。(upd:退役之后依旧读错。2026.1.27 因为读错题被卡3day)

为什么这几天模拟赛天天挂分啊。

牛魔的,mnmx 要记得赋初值。最小值没赋初值狂调一上午:加边

一定要先把题目读完!

静下心来去分析,冷静!

牛魔的,加 freopen,以及别写错。

权值线段树的范围要注意,可能是从 0 开始的。奇怪的操作

斜率优化,线段 \([i,j]\) 的斜率是 \(\frac{y_j-y_i}{x_j-x_i}\)

斜率优化注意斜率返回值为 double,还有参与计算的也为 double:

il double Y(int x) {return f[x];}
il double X(int x) {return dep[x];}
il double slope(int x,int y) {return (Y(y)-Y(x))/(X(y)-X(x));}
il int calc(int x) {//找斜率为x的直线与凸包的切线的凸点 
	int l=1,r=sc;
	while(l<r) {
		int mid=(l+r)>>1;
		if(slope(sta[mid],sta[mid+1])<x) l=mid+1;//
		else r=mid;
	}
	return sta[l];
}

注意好变量名,如果用与题目给的变量不同的变量,要记清,最好是写下来提醒自己。

多测清空、初始化。调了一下午The Walkway

对于图的题,要考虑重边和自环,仔细读题。

int 的输出写成 scanf("%lld\n",a)/qd/qd。


2024.10 csp考前

并查集合并应使整体的根节点更新连接。

inline void merge(int x,int y) {
	int xx=find(x),yy=find(y);
	if(xx==yy) return ;
	fa[xx]=yy;//
	return ;
}

正难则反!!!

有个啥b忘了更新最大值了/cf/cf/cf。


2026.1.27

考虑特殊情况!!!!!(especially 0!!!!!!!

posted @ 2023-10-25 09:50  XYini  阅读(5)  评论(0)    收藏  举报