【小知识+小细节】不断更新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

原文地址:https://www.cnblogs.com/zy691357966/p/5480453.html