我犯过的sb错误
INT函数要有返回值!!!!!!
\(1\). 图上注意有无 重边 环 自环 是否连通 有向无向
\(2\). \(n,m\)打反,\(N,M\)打反,如 \(edge[N]\)
\(3\). << \(~\)与\(~\) >>
\(4\). 黑白染色: \((i+j)\) 而不是\((i-1) \times n +j\)
\(5\). 多测要清空
\(6\). 数组开小/大
\(7\). 有返回值的函数+\(return\),如 \(return~~ dfs(x);\) 写成 \(dfs(x);\)
\(8\). 局部变量与全局变量冲突。
\(8\). \(int ~mian()\)
\(9\). \(inf = (1<<60)\)错了,\(inf = (1ll<<60)\)
\(10\). 除数为0导致RE
\(11\). 线段树开 4 倍空间
\(12\). 函数里用单个变量,实则外面开了个数组,如\(int~~ans=0\), (\(ans[N]\)已经是数组)
\(13\). 多测要读完
\(14\). 调试语句不删
\(15\).做没有卵用的初始化,如:
int n;int rt=n;scanf("%d",&n);
//正确的:
int n;scanf("%d",&n);int rt=n;
\(16\).
printf("%d",&ans);
\(17\).
bool cmp(Node A,Node B){
if(A.d!=B.d)A.d<B.d;
return A.p<B.p;
}