zoukankan      html  css  js  c++  java
  • **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 输出即可,这个表示保留整数部分四舍五入

  • 相关阅读:
    Oracle11以后的行列转换
    stream重复Key的处理
    EasyUI笔记(一)Base基础
    jQuery笔记(六)jQuery之Ajax
    【jQuery实例】Ajax登录页面
    jQuery笔记(五)jQuery表单验证
    jQuery笔记(四)jQuery中的动画
    jQuery笔记(三)jQuery中的事件
    jQuery笔记(二)jQuery中DOM操作
    jQuery笔记(一)jQuery选择器
  • 原文地址:https://www.cnblogs.com/OFSHK/p/11312080.html
Copyright © 2011-2022 走看看