CSP/NOIP 注意事项(2020)

  • string数组不能直接memcpy,否则会本地AC提交RE
  • kmp时初始化后k一定要清零
  • 不要再犯int n=read() 结果n作为全局变量用这类错误了怎么好像去年的注意事项也有这个
  • 有取模的题不要忘了驱魔取模
  • cin读大量字符串贼慢,而且不能关流同步字符数组的唯一用处出现了
  • \(10^9\) 不爆int,但相乘即使取模也会
    • 同样的,\(10^{18}\) 不爆long long,但相乘会,只能乖乖写龟速幂 总有一些屑出题人喜欢让每一个点都爆longlong
  • 求lca在倍增时不能犯这种制杖错误
void build(){
	for(int k=17;k;--k){
		for(int i=1;i<=n;++i){
			fa[i][k]=fa[fa[i][k-1]][k-1];
		}
	}
}

正确写法

void build(){
	for(int k=1;k<=17;++k){
		for(int i=1;i<=n;++i){
			fa[i][k]=fa[fa[i][k-1]][k-1];
		}
	}
}

(鬼知道我为什么会犯这种错误甚至过了样例)

  • n,m不要打反好像去年也有这条

  • 不要过分纠结于一题,即使它好像差一点点就能得到很高的分

  • 数组范围注意到底是\(max(n)\)还是什么\(max(n+k)\)之类的什么奇怪的东西 orzzzzzzzzzzzz lbn

  • 快速幂不!要!忘!取!模!

  • 在关闭流同步的情况下只能用cin cout 进行I/O操作 不能用scanf printf puts 尤其是puts

  • 在同时使用了 cnttot 的情况下一定不要将两者混淆

posted @ 2020-11-04 20:53  zhu_chen  阅读(334)  评论(0编辑  收藏  举报