就是一个菜鸡的总结
1.代码类
1.有时候不开long long,所以以防万一只要有开long long的可能就直接全局long long,就是有时候需要注意内存。
2.字符串的读入总是令人智熄,所以可能的话统一用scanf,像类似线段树输入操作的时候就直接开一个字符数组,这样就不会被空格啊行末回车啊什么的按在地上摩擦。(PS:有字符数组的读入好像不能用fread了?)
3.调试语句一定要记得注释掉,或者用cerr,最后一定要用文件操作运行一下程序。
4.多组数据该清空的一定要记得清空!
2.实现类
1.阶乘的逆元是可以O(n)处理的,不要老想着快速幂,0的逆元也要给初值1.。
2.二分现在的写法要好看一点:
int l=1,r=n,mid,ans;
while(l<=r){
mid=l+r>>1;
if(check(mid)) ans=mid,l=mid+1;
else r=mid-1;
}
这样就不用纠结输出l还是r了,直接输出ans即可,还不会死循环。
3.模拟一定要冷静,想想可能会出现