long long相关
1,没开long long /long long开少了。
具体地,可能是未对题目可能产生的数值预估,可能是只写了int的读优,忽略long long。
2.#define int long long出锅。
-1,比如在遍历图的时候,vector的返回值会出现问题,要强行转换(ll)。
-2,main函数类型设置成signed ,避免出现long long main。
3.爆long long 。
毒瘤出题人,要用unsigned long long。。。
double相关
1.double爆精度:
-1,对于小数点后面的精度要求,要记得给eps,至于具体的值。。。看缘分。
-2,对于表示大数并且要用大数比较,double会自动丢失精度,强制转化回long long的时候要手动四舍五入,即手动(+0.5)(long long)。
-3,double的a*=b比a=a*b更容易爆精度(在大数比较的时候有过惨痛教训)。
-4,类似前几次考试的套路,需要用大数比较的时候,一般可以转化为判断是否超过inf之类的分类讨论,即达到一定大小后不需要继续增大,所以不要一来就用double/long double,想一下能不能简化。
2.double与long double 的输出:
double:%lf ,long double:%Lf .
数组相关
1.位移少打一个"<",比如: a [ N < < 1 ] − > a [ N < 1 ] a[N<<1]->a[N<1] a[N<