-
看清数据范围,该开 (long long) 一定要开,尤其快速幂必须开 (long long) !
-
cin/cout
大数据输入输出绝对不要用(梅开三度) -
(scanf) 中输入 (double) 用
%lf
,但是 (printf) 中根本就没有%lf
,(long double) 对应的是%Lf
-
(unsigned long long) 输出用的是
%llu
,不是%ull
-
关于取模:应模尽模,别因为漏了模某些地方而导致奇怪的输出。upd:闲的没事也不要乱模,比如题中某些变量本身是允许出现负数的,全给它
+mod
再%mod
之后数会变得巨————大,因为本来绝对值挺小的一个负数被取模后搞成一个大正数了 -
加了
ios::sync_with_stdio(0)
以后只能cin/cout
,不能和puts/printf/getchar
之类的混用,因为那些都在 (cstdio) 库中具体原因请移步百度 -
sort
的区间是左闭右开的!
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
- 关于
double
和long double
的区别:double
的精度为 (15sim 16) 位,long double
的精度不低于double
,但是具体精确到多少位和编译器相关。double
的占位符为%lf
,long double
的占位符为%Lf
。一个double
占 (8) 字节,一个long double
占 (16) 字节