1、尽量不要使用万能头文件 #include<bits/stdc++.h>

一是有些oj是不允许用的   二是 他会让你忘记一些比较长的头文件怎么写 比赛的时候不能用 那就gg

2、c++打函数的时候,一定要打retrun。

函数一定要有返回值 (这个很重要!)

比如

//这种写法自己可以运行 交题却显示编译错误
//因为你写了两个if  系统会认为 如果不符合这两个if的话  函数就没返回值了
int cmp(int a,int b){if(a>b) return 1;if(a<=b) return 0;
}可以改成这样
int cmp(int a,int b){if(a>b) return 1;if(a<=b) return 0;return 0:
}//或者这样写 就可以   不进if 就会进 else   这样不会报错
int cmp(int a,int b){if(a>b) return 1;else return 0;
}

3、  开数组不要开的刚好  一定要多加几个

3、有的oj 用的是%lld  有的是%I64d  热身赛的时候注意测试下

4、cin cout尽量不用  很耗时间  很慢  用scanf printf 就好 包括那些 stack queue 什么的  能手打都手打

5、STL里面的  min max 函数在循环里不要用  调用太慢 费时间  用三目运算符代替

6、abs()这个函数不支持long long    建议int也不要用这个函数  用三目运算符  a=a>0?a:-a;

而且在c语言中 abs这个函数的头文件是<stdlib.h>

<math.h>这个头文件里面包含fabs    或者用c++ <algorithm>这个头文件也包含有abs()

7、最大值设置为  0x3f3f3f3f

0x3f3f3f3f的十进制是1061109567,是10^9级别的(和0x7fffffff一个数量级)。如果我们想要将某个数组清零,我们通常会使用memset(a,0,sizeof(a)),因为memset是按字节操作的,因为0的每个字节都是0(一般我们只有赋值为-1和0的时候才使用它)0x3f3f3f3f的每个字节都是0x3f,我们只需要memset(a,0x3f,sizeof(a))。

8、double 变量是不能判断  ==  的  因为double 存的时候   3.5 存进去的是3.499999  所以要用减法来判断是否相等

9、位运算   a/2写成 a>>1  a*2写成a<<1   a*2+1写成 a<<1|1   判断奇偶 a&1  一个不省多少时间 但是操作多了 就节省很多时间

另外 位运算的优先级非常的低,注意打括号。

10、用java写题时候   类名必须是Main  复制的时候不要复制包名

11、c和c++输出尽量不要混着用

12、取模运算的题目 最后答案加个  (a+mod)%mod  防止结果出现负数

13、声明数组大小的时候  不要用变量申请  常量才可以申请数组

14、long long类型     8e18也不会爆炸(不要限定最大是1e18,,,会错的)

15、gets不能用  要学会其他方法读入一行字符串  https://blog.csdn.net/holly_Z_P_F/article/details/85247445

ACM中一些细节问题相关推荐

  1. C++ STL泛型编程——在ACM中的运用

    学习过C++的朋友们应该对STL和泛型编程这两个名词不会陌生.两者之间的关系不言而喻,泛型编程的思想促使了STL的诞生,而STL则很好地体现了泛型编程这种思想.这次想简单说一下STL在ACM中的一些应 ...

  2. ACM中java的使用

    ACM中java的使用 转载自http://www.cnblogs.com/XBWer/archive/2012/06/24/2560532.html 这里指的java速成,只限于java语法,包括输 ...

  3. ACM中java的使用 (转)

    ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入:格式为:Scanner c ...

  4. ACM 中常用的算法有哪些? 2014-08-21 21:15 40人阅读 评论(0) 收藏...

    ACM 中常用的算法有哪些?作者: 张俊Michael 网络上流传的答案有很多,估计提问者也曾经去网上搜过.所以根据自己微薄的经验提点看法. 我ACM初期是训练编码能力,以水题为主(就是没有任何算法, ...

  5. [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式...

    ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...

  6. ACM中Java使用总结

    Java在ACM中的主要应用是大数类[个人见解].做个小总结,留作模板用. 类名默认为Main. 输入: 声明一个输入对象cin;Scanner cin=new Scanner(System.in); ...

  7. ACM中java快速入门

    2019独角兽企业重金招聘Python工程师标准>>> ACM中java快速入门 附: Chapter I. Java的优缺点各种书上都有,这里只说说用Java做ACM-ICPC的特 ...

  8. acm java题_【转】ACM中java的使用

    ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目. 1. 输入: 格式为:Scanner ...

  9. oracle存储过程sql拼接日期,Oracle 存储过程中的细节-日期处理

    今天在存储过程中用 to_char来查询制定日期是星期几,本以为时没什么问题的,结果出现了自己不想要的问题. select to_char(sysdate,'day','NLS_DATE_LANGUA ...

  10. SpringMVC学习笔记:springMVC中相关细节

    SpringMVC中相关细节 1.什么是MVC? MVC是一种软件架构思想,将软件按照模型.视图.控制器来划分. ①M:模型层:指工程中的javaBean,作用是处理数据.javaBean分为两类:一 ...

最新文章

  1. eclipse工程中查看android源码
  2. Python 虚拟环境:Virtualenv
  3. PAT甲级1060 Are They Equal:[C++题解]字符串处理、有效数字、代码简洁!!!
  4. FSM(状态机)、HFSM(分层状态机)、BT(行为树)的区别
  5. Minty Fresh : So You Want To Write An Orchestration?
  6. 关于Java泛型和擦除
  7. 机器学习笔记(五)续——朴素贝叶斯算法的后验概率最大化含义
  8. Apache PIO 操作Excel
  9. Spark的存储管理
  10. ubuntu--雷鸟只能收邮件不能发邮件
  11. Bresenham直线算法与画圆算法
  12. centOS7中安装tecplot_ex_2015r2_linux64
  13. AppFabric配置
  14. 社交电商快速吸粉裂变模式-全新拼团模式
  15. 微信ANDROID版本解析包错误,终于弄明白为什么手机安装软件会出现“解析包出现问题”...
  16. Python程序员面试,这些问题你必须提前准备!
  17. View被遮挡的解决办法
  18. JMeter 常用的几种断言方法,你会几种呢?
  19. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(三):scapy——网络的掌控者
  20. 百万奖补!2022年湖北省双创战略团队申报条件、材料和支持奖补

热门文章

  1. Git基础之(十五)——分支管理——分支管理策略
  2. 项目管理-自上而下还是自下而上的沟通?
  3. box-shadow(text-shadow)参数详解
  4. SpringMVC一路总结(一)
  5. 一站式VDI部署教程(4)配置SMB3.0共享
  6. Microsoft® .NET Micro Framework简介
  7. zookeeper做分布式配置中心
  8. GPG终极指南(加密/签名)
  9. 【Android】12.0 第12章 Intent及其过滤器—本章示例主界面
  10. VB.NET版+三层实现登陆