CSP/NOIP 注意事项(2020)
- string数组不能直接memcpy,否则会本地AC提交RE
- kmp时初始化后k一定要清零
- 不要再犯int n=read() 结果n作为全局变量用这类错误了
怎么好像去年的注意事项也有这个 - 有取模的题不要忘了
驱魔取模 - cin读大量字符串贼慢,而且不能关流同步
字符数组的唯一用处出现了 - \(10^9\) 不爆
int
,但相乘即使取模也会- 同样的,\(10^{18}\) 不爆
long long
,但相乘会,只能乖乖写龟速幂总有一些屑出题人喜欢让每一个点都爆longlong
- 同样的,\(10^{18}\) 不爆
- 求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 -
在同时使用了
cnt
和tot
的情况下一定不要将两者混淆