易错总结

  1. 看清数据范围,该开 \(long \ long\) 一定要开,尤其快速幂必须开 \(long \ long\) !

  2. cin/cout 大数据输入输出绝对不要用(梅开三度)

  3. \(scanf\) 中输入 \(double\)%lf,但是 \(printf\) 中根本就没有%lf\(long \ double\) 对应的是%Lf

  4. \(unsigned \ long \ long\) 输出用的是 %llu ,不是 %ull

  5. 关于取模:应模尽模,别因为漏了模某些地方而导致奇怪的输出。upd:闲的没事也不要乱模,比如题中某些变量本身是允许出现负数的,全给它+mod%mod之后数会变得巨————大,因为本来绝对值挺小的一个负数被取模后搞成一个大正数了

  6. 加了 ios::sync_with_stdio(0) 以后只能 cin/cout,不能和 puts/printf/getchar 之类的混用,因为那些都在 \(cstdio\) 库中 具体原因请移步百度

  7. sort的区间是左闭右开的!

   ios::sync_with_stdio(0);
   cin.tie(0);
   cout.tie(0);
  1. 关于 doublelong double 的区别:double 的精度为 \(15\sim 16\) 位,long double的精度不低于 double ,但是具体精确到多少位和编译器相关。double 的占位符为 %lflong double 的占位符为 %Lf。一个 double\(8\) 字节,一个 long double\(16\) 字节
posted @ 2021-07-02 17:29  DReamLion  阅读(100)  评论(0编辑  收藏  举报