时间超限问题处理(c++)
c++中 如果时间超上限
做题上:
考虑关于二进制的方法 比如说
find your present (2)
这道题 可以用异或运算 来发现不重复数
对于动态规划 状态压缩发面 方面应用更多
比如说poj 1185 炮兵布阵
其中地图用二进制表示 十进制储存 运算起来十分方便
输入输出:
c++ 的 cin(istream) 就不如scanf() 时间上速度
同样类比一下cout 不如printf 速度。
注意事项:
1 。用<<运算符申请空间或者表明大小时 必须加括号 这样申请
int a[1<<16];//error
int a[(1<<16)];//true;
在oj上会超时(实测)
2.看了个大佬关于vector的详解 链接
重点结论就是:
当动态数组内的元素比动态数组长度多一时,动态数组长度翻倍!
也就是说:if(v.size()-1==v.capacity()) v.resize(v.capacity()*2);
而长度翻倍是很花时间的。所以说做题的时候,记得事先把vector的长度拉得足够长,以免运行的时候,vector长度翻倍浪费时间。
时间超限问题处理(c++)的更多相关文章
- POJ-2236 Wireless Network 顺便讨论时间超限问题
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 26131 Accepted: 108 ...
- ______________从时间超限到800ms 到200ms——————2098
分拆素数和 Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Submission(s): Accepted S ...
- Rescue(BFS时间最短 另开数组或优先队列)
Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M ...
- 继续努力刷题--BE STRONGER AND STRONGER
Come on,baby~ (1)Contains Duplicate 有自己的思路:两个for双重循环直接一个个比较,但肯定不是最优解.所以,使用Set中的HashSet(一种没有重复元素的无序集合 ...
- scanf和cin的差异
scanf和cin的差异 引例:http://www.cnblogs.com/shenben/p/5516996.html 大家都知道,在C++中有两种输入.输出方式—scanf和cin,但是,它们之 ...
- 【HDNOIP】HD201404最短路径
HD201404最短路径 [试题描述] a.b.c是3个互不相等的1位正数,用它们和数字0可以填满一个n行n列的方格阵列,每格中都有4种数码中的一个.填入0的格子表示障碍物,不能属于任何路径.你是否能 ...
- 【优化AC】建立联系
建立联系 [试题描述] 新学期开始了,不料同学们在假期集体更换了电话,所以同学们只能重新建立联系. 班内一共有n位同学,他们一共建立了m次联系,老师想知道在同学们每次建立完一个联系后,一共有多少对同学 ...
- NOIP201208同余方程
NOIP201208同余方程 描述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入只有一行,包含两个正整数a, b,用一个空格隔开. 输出格式 输出只有一行,包含 ...
- NOIP201401珠心算测验
珠心算测验 问题描述] 珠心算是一种通过在脑中模拟算盘变化来完成快速运算的一种计算技术.珠心算训练,既能够开发智力,又能够为日常生活带来很多便利,因而在很多学校得到普及. 某学校的珠心算老师采用 ...
随机推荐
- [C++] Const Summary (mind map)
Const Summary
- tp5 $this/Db
- [SoapUI] 如何让某个步骤的Assertion失败之后继续执行后面的步骤
To continue tests executing after failed test step you need disable "Abort on error" optio ...
- HBase列族高级配置
转自:http://blog.sina.com.cn/s/blog_ae33b83901018euz.html ------------------ HBase有几个高级特性,在你设计表时可以使用.这 ...
- hdu 折线分割平面(递推)
题解: 首先我们考虑直线的情况: 当n=1时原来的1个平面被分割成了2个: 当n=2时原来的2个平面被分割成了4个: 当n=3时原来的4个平面被分割成了7个: 也就是说F(n)=F(n-1)+n且n= ...
- Linux下软件常见安装方式
pasting 分类: Linux2007-12-08 16:31 1909人阅读 评论(0) 收藏 举报 linuxredhat脚本文档managerfile Linux下软件安装主 ...
- 如何注册facebook应用
最近项目中要做第三方登录,其中就有facebook的,下面讲解一下如何在facebook中创建应用 1.登录facebook的开发者平台(https://developers.facebook.com ...
- [GO]有缓冲通道
有缓冲通道就是在有能力保留数据的通道,那么通道在满的时候或者通道是空的时候,存数据和取数据就会发生阻塞 package main import ( "fmt" "time ...
- git post-receive
1. 将 www 目录设为 777 2. 用git 用户 mkdir 并 git init 3. cat id_rsa.pub >. authorkeys
- 看图说说JVM内存