**ACM注意事项**

  1. 精度问题:double定义的变量,要是限制小数点的话,最好用.f 输出。OJ上G++double精确小数点要用.f提交,不然WA
  2. cin可以输入 "Mark" 或 "Twain",但不能输入 "Mark Twain",因为 cin 不能输入包含嵌入空格的字符串。
  3. 在C语言中余数的符号是和分母的符号相同。即:(-10)%3==-1。
  4. c语言中计算的时候最好先将负数取正再进行计算
  5. % 只用于整型的计算,后一个数不能是0,参与运算的数据可正可负。
  6. while(scanf("%d",&n)!=EOF)和while(~scanf("%d",&n))取1其一,否则会造成输出超时
  7. 输出%需要打两个%才行。
  8. unsigned   int :0~4294967295   (10位)     

    int  : -2^31~2^31 (10位)         int 64: -2^63~2^63-1  19位

    long long: -2^63 - 12^63 - 1(19位数 )

    unsigned long long:0~2^64 - 1(20位数,1e19)  

  9. %llu对应的数据类型为unsigned long long,20位,这是C语言用来表示整数的最大类型。     
  10. _int128需要自己写输入输出函数,好像是编译器不支持

  11.  fmod()函数:可以对浮点型数据进行取模运算,后一个数可为0,这时函数返回NaN。头文件:#include<math.h>

    1  int main()
    2  {
    3      float x=10.0;
    4      float y=-3.0;
    5      float z=3.0;
    6      printf("10.0%%3.0= %f\n",fmod(x,z)); //1.0
    7      return 0;
    8  }
  12. *1LL是为了在计算时,把int类型的变量转化为long long,然后再赋值给long long类型的变量
  13. 进行标记的时候开bool,否则一些题目会超内存,bool占一个字节,int占四个字节
  14. 不要随便去清空,耗时。区别mem和for清空,数据小的用for,数据大的用men
  15. getchar() 然后%c输入,有些oj会出现两个甚至多个回车,直接scanf(" %c")就可以吸收掉前面一个甚至多个回车
  16. 除了记忆化搜索需要return 一个确定的值,其他的深搜是回溯,基本用void的多
  17. 线段树为什么开四倍空间?https://www.cnblogs.com/FengZeng666/p/11446827.html
  18. ios.sync_with_stdio(false);
    // 那么cin, 就不能跟C的 scanf,sscanf, getchar, fgets之类的一起使用了。
  19. vector使用迭代器的时候可以v.begin()+1,map不行,会报错,需要continue去控制输出的第一个元素不被输出
  20. 能用for尽量别用while,使用for循环的时候定义在内部,用完就相当于释放了,减少占用内存。
  21. 开long long会更耗时,会导致超时,因为long long占四个字节,int占一个字节
  22. int越界会变成负数,此时需要开long long。最小值:当int型的数据到了最小值时,然后再减1(即越界时),它会变成正数,如果此时再将此数值加1,就可以知道这最小值是多少了;最大值:同理,当int型的数据到了最大值时,然后再加1(即越界时),它会变成负数,如果此时再将此数值减1,就可以知道这最大值是多少了。
  23. #include<stdio.h>
    #include<string.h>
    using namespace std;

    没有用到using namespace std;而写这个的话,c++提交会造成编译错误

    //这样子可以
    #include<stdio.h> #include<iostream> #include<string.h> using namespace std;
  24. CCCC不允许用gets输入。
  25. flag=1,break;这种写法不被允许
  26. double 定义,想要取整数部分输出%d输出,不可以,输出为0
  27. lg打到程序中是log
  28. 精度问题
    +0.5的话必须要赋值给int型的变量,然后 %d 的形式输出
    否则直接 %0.lf 输出即可,这个表示保留整数部分四舍五入

原文地址:https://www.cnblogs.com/OFSHK/p/11312080.html