【小知识+小细节】不断更新ing...
1.printf
printf("%.0lf",k) 输出的不是floor(k) 而是k四舍五入
。。才发现.xlf 都是四舍五入取x位
2.cin
char buff[300]
读入数据 A B C D
用for(int i=1;i<=4;i++) cin>>buff[i]读入的话 读入的是ABCD 空格会被cin忽略
值得一提的是 cin比getchar 慢了一倍
3.二分小细节
二分的时候
m=(s+t)/2与 m=(s+t)/2+1 该选择哪一个取中值的方法
取决于最后的是s=m+1 还是s=m
一般利用 s=1 t=2 的时候判断一下即可
4.使用+oo与-oo应该注意的结尾问题
可能全程都没有更新最大值最小值 ,记得最后特判一下是否还是等于+oo -oo 来变更题目中所需求的答案
5.高精度要注意的
I 高精X高精时
第二个循环是等号
II输出
记得逆序输出(压位后很可能正序输出看
起来没错误)
III结构体模板
struct Bigint { int operator[](int index) const { return digit[index]; } int& operator[](int index) { return digit[index]; } int len; int digit[L]; };
new:
注意 初值为-1时 并且 未被覆盖到的数 会对未来产生什么影响 ,一般都要特判
6.关于#define maxn 10000+5
一般不会出错
但是E[maxn*5]=E[10000+5*6]=E[10030]
所以以后少用define 多用const定义maxn;
7.网络流越界 会TLE