接下来说说一些ACM里面的常识和错误。。。(可能会比较乱)

  —— 首先ACM里面的代码都是要提交上去,然后让计算机自动判题的,所以。。。千万不要把 system("pause"); 加上去,不管自己怎么搞,提交之前千万记得不要有这句话,不然怎么死的都不知道。

  —— 然后就是提交上去之后是立马返回结果的(网络卡了或者服务器挂了不算),结果一般有 AC(也就是对了),WA(答案错误),TLE(超时),MLE(超出内存限制),PE(答案对,格式错。),RE(在判题机上运行的时候程序崩溃,一般有数组越界,或者栈溢出。),CE(编译错误。。。)

  —— 然后就是程序运行有时间限制,一般来说1s的话按照现在计算机的速度可以运行10^7这个数量级次,所以提前根据数据范围算一下大约需要运行多少次,然后看看会不会超时。

  —— 内存的限制如果是 64MB,一个 int 类型的数占4个字节,也就是 4B,那么64MB也就是 64*1024*1024 / 4 个int类型的数,所以也要注意是否会超内存。。。

  —— 提交程序的话就是在做题的那个网页找到 submit 按钮,然后复制代码过去就行。。。

  —— 头文件。。。为了省事,一般我是直接弄上很多头文件然后写代码。如下:

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>
#include <set>
#include <map>
#include <string>
#include <math.h>
#include <stdlib.h>
#include <time.h>

  —— 关于数据类型的表示范围,int的表示范围是-2^31 到 2^31-1 也就是大约10^9的范围,写代码前估算一下如果中间值或者结果可能超过这个数,就尽量不要用int了。这时可以用 long long 这种类型,他的表示范围是 -2^63 到 2^63-1,大约就是10^18多。。。这时注意如果超过了这个数,就要用自己写的高精度类了(以后会说。)然后是long long这种类型的输入输出,如果是cin cout的话不用管,但是scanf他们就不行了,有些是 %lld 有些是 %I64d 对,不同的服务器不一样,就是这么坑,一般比赛前会说,也可以向裁判提问用哪一种。。。

  —— 至于double和float的问题,首先推荐使用double就行,注意这些类型都是用二进制来表示小数的,转为十进制的话表示的精度 double大约是14位有效数字(不是小数点后面的位数)。另外就是各种加减乘除还有数学函数运算会让精度下降,也就是只有大约前10位是准确的,后面就呵呵了,运算次数多的话。。。精度会更差。。。而且负数的精度比正数差不少。。。所以精度问题一直是最大的坑点之一,刚开始还接触的少,后面有无数会卡精度的题目,也就是和答案很接近但是就是差那么个0.000001就算错。。。

  然后有一个sgn函数来确定double,具体如下:

const double eps=1e-;            // 根据题目需要修改。

inline int sgn(double x)        // x负数返回-1,近似0返回0,正数返回1。
{
return x<-eps ? - : x>eps;
}

  —— 另外注意double不要用 == 来判断相等,因为误差,会导致运算之后有很小的差别,所以一般只要  b-eps < a < b+eps 那么就算是a和b相等,一般 eps = 1e-8 或者 -9 或者 -10等等。。。

  —— 饿。。。暂时想不起来还有啥了,未完待续。。。

ACM录 之 常识和错误。的更多相关文章

  1. ACM录 之 输入输出。

    —— 简单介绍一下ACM里面的输入输出... —— 主要说C++的输入输出(其实其他的我不会...). —— C++里面有输入输出流,也就是cin和cout,用起来也算是比较方便吧... —— 但是, ...

  2. Sql-Server应用程序的高级注入

    本文作者:Chris Anley 翻译: luoluo [luoluonet@hotmail.com] [目 录] [概要] [介绍] [通过错误信息获取信息] [更深入的访问] [xp_cmdshe ...

  3. 写给Node.js新手的7个小技巧

    一些我更愿意在开始就知道东西 利用 Node.js 开发是一个非常有趣,和令人满足的过程, 他有3万多个模块可以选择使用,并且所有的模块可以非常容易的集成入现有的应用之中. 无论如何,对于一些刚开始使 ...

  4. 软件设计模式详解:OCP原则

    看到两篇关于OCP的文章, 纳之. 原文:  http://www.cnblogs.com/muzongyan/archive/2010/08/05/1793454.html http://blog. ...

  5. C# Memory Cache 踩坑记录

    背景 前些天公司服务器数据库访问量偏高,运维人员收到告警推送,安排我团队小伙伴排查原因. 我们发现原来系统定期会跑一个回归测试,该测运行的任务较多,每处理一条任务都会到数据库中取相关数据,高速地回归测 ...

  6. 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密

    你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...

  7. mavenWeb工程建立步骤

    1.File >> New >>other...,在New窗口中打开Maven,选中Maven Project,Next. 2.在New Maven Project弹出窗口中去 ...

  8. 牛客 - 17968 - xor序列 - 线性基

    https://ac.nowcoder.com/acm/problem/17968 下面是错误的做法,因为题目要求必须使用x,而y在check的时候不一定用到等价于x的线性基来构成. 正确的做法是直接 ...

  9. 转载--- 写给Node.js学徒的7个建议

    贴士 1: 在开发环境使用nodemon,在生产环境使用pm2 当你第一次开发Node.js应用的时候, 其中一件事情就是一次又一次的运行[file].js 就和揭伤疤一样. 当我第一次开发的node ...

随机推荐

  1. make TARGET_PRODUCT=am335xevm OMAPES=4.x rowboat_clean 出现sgx相关的错误

    这些错误是一些链接错误,由于地址变更导致的软链接不对.所以只要更改下软链接的具体地址就可以.

  2. 改良UIScrollView滚动视图

    #define HEIGHT  self.view.frame.size.height #define WIDTH    self.view.frame.size.width @interface V ...

  3. 字符串查找 cmd find命令

    find /i "ora-" *.log 我对findstr是如此的依赖,以至于当我向各位讲解find命令的时候,我还得老老实实地在cmd窗口中敲下 find /? 这条命令,然后 ...

  4. oracle10g遇到ORA-00257归档程序错误,在释放之前仅限于内部连接

    一.简要介绍 首先数据库日志文件有两种: 联机日志文件和归档日志文件,联机日志文件会将之前的覆盖,不会做备份. 而归档日志文件会做备份,这样就造成了归档日志空间已满,解决方法: 如果真的是归档日志空间 ...

  5. UVALive 2147 Push!!(队列实现DP)

    就我的理解来说这个题,本质上是一个DP题,不应该说是搜索,因为我的做法是把表格中所有的数据都找到,使用队列暴力来遍历出所有状态,因为题目中的数据范围小,所有耗时也小. 首先分析箱子是一个被动物体,人是 ...

  6. JAVA动态代理详解

    1.什么是代理 代理模式是常用的Java 设计模式,它的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息.过滤消息.把消息转发给委托类,以及事后处理消息等. 2.什么是动态代理 在程 ...

  7. 交换数组中两个元素的位置,元素包括key和value 一维数组

    /*author: yangyu@sina.cndescription: 交换数组中两个元素的位置,元素包括key和value,具体用法见下面的例子*/$arr = array(11=>'a', ...

  8. 把Wordpress集成到zen-cart里方法 各种修改 经典机制

    作者: 闻庭牛 | 分类: zen cart插件精解 | 浏览: 4 | 评论: 暂时没有评论 如果你的Zen-cart需要一个Blog来发布一些你的最新动态,可以试试Wordpress,并且用WOZ ...

  9. springMVC如何访问静态文件

    在进行Spring MVC的配置时,通常我们会配置一个dispatcher servlet用于处理对应的URL.配置如下:<servlet><servlet-name>mvc- ...

  10. hdu_5726_GCD(线段树维护区间+预处理)

    题目链接:hdu_5726_GCD 题意: 给你n个数(n<=1e5)然后m个询问(m<=1e5),每个询问一个区间,问你这个区间的GCD是多少,并且输出从1到n有多少个区间的GCD和这个 ...