时间超限问题处理(c++)
c++中 如果时间超上限
做题上:
考虑关于⼆进制的⽅法 ⽐如说find your present (2)
这道题 可以⽤异或运算 来发现不重复数对于动态规划 状态压缩发⾯ ⽅⾯应⽤更多⽐如说poj 1185 炮兵布阵
其中地图⽤⼆进制表⽰ ⼗进制储存 运算起来⼗分⽅便输⼊输出:
c++ 的 cin(istream) 就不如scanf() 时间上速度同样类⽐⼀下cout 不如printf 速度。
注意事项:
1 。⽤<<运算符申请空间或者表明⼤⼩时 必须加括号 这样申请
int a[1<<16];//errorint a[(1<<16)];//true;
在oj上会超时(实测)2.看了个⼤佬关于vector的详解 重点结论就是:
当动态数组内的元素⽐动态数组长度多⼀时,动态数组长度翻倍!也就是说:if(v.size()-1==v.capacity()) v.resize(v.capacity()*2);
⽽长度翻倍是很花时间的。所以说做题的时候,记得事先把vector的长度拉得⾜够长,以免运⾏的时候,vector长度翻倍浪费时间。