ACM注意事项及一些小技巧
2009-08-15 10:34
197 查看
做题的一些心得,想到几点写几点,以后又想到了再补:
1.scanf(),printf()和cin,cout不要混用,输入数据量比较大的话会导致缓存区冲突。
2.对于大数组放到全局变量里,局部变量内存使用量不能超过64k;
3.对于多组数据,每次算都要数据初始化;
4.sort(first,last),last是past-the-end,就是要排序的元素的最后一个的后一个;
5.对于需要不停插入数据,并保持有序的可以用STL的set容器,它是用平衡二叉树实现的,免去了自己再去写一个的麻烦,用起来真是轻松加愉快。
6.迭代器可以自加自减,v.end()不能;
7.对于输入量大的不要用cin,cin速度太慢,对此我有过惨痛的教训,一道题TLE一下午,最后竟然方向问题出在输入上,狂郁闷..
8.优先队列是个好东西,可以当堆用,就不要自己写堆了。
9.比赛的时候水题要切的又快又准,有两个好处:1.稳定心态 2.有时候题目比较难就看水题刷的谁快,今年上海一题刷的快的就有铜了
10.切忌卡题,在1个小时卡下来一点没进展的情况下,要果断换题。
11.坚持到最后一刻,在最后一个小时出题的可能性还是很大的。
12.对于有重边的情况下,按边存图:
struct ss
{
int p; //点
int dis; //权值
}
vector<ss> g[MAXN];
...
cin>>x>>y>>dis; //输入边
ss temp;
temp.p=y;
temp.dis=dis;
g[x].push_back(temp); //存边
13.模板尽可能带全,挑精简的,不要重叠
1.scanf(),printf()和cin,cout不要混用,输入数据量比较大的话会导致缓存区冲突。
2.对于大数组放到全局变量里,局部变量内存使用量不能超过64k;
3.对于多组数据,每次算都要数据初始化;
4.sort(first,last),last是past-the-end,就是要排序的元素的最后一个的后一个;
5.对于需要不停插入数据,并保持有序的可以用STL的set容器,它是用平衡二叉树实现的,免去了自己再去写一个的麻烦,用起来真是轻松加愉快。
6.迭代器可以自加自减,v.end()不能;
7.对于输入量大的不要用cin,cin速度太慢,对此我有过惨痛的教训,一道题TLE一下午,最后竟然方向问题出在输入上,狂郁闷..
8.优先队列是个好东西,可以当堆用,就不要自己写堆了。
9.比赛的时候水题要切的又快又准,有两个好处:1.稳定心态 2.有时候题目比较难就看水题刷的谁快,今年上海一题刷的快的就有铜了
10.切忌卡题,在1个小时卡下来一点没进展的情况下,要果断换题。
11.坚持到最后一刻,在最后一个小时出题的可能性还是很大的。
12.对于有重边的情况下,按边存图:
struct ss
{
int p; //点
int dis; //权值
}
vector<ss> g[MAXN];
...
cin>>x>>y>>dis; //输入边
ss temp;
temp.p=y;
temp.dis=dis;
g[x].push_back(temp); //存边
13.模板尽可能带全,挑精简的,不要重叠
相关文章推荐
- .net开发中的一些注意事项及小技巧
- Asp.net &C#开发中的一些注意事项及小技巧【转】
- Asp.net &C#开发中的一些注意事项及小技巧
- Matlab中的一些注意事项和小技巧
- Asp.net &C#开发中的一些注意事项及小技巧
- .net开发中的一些注意事项及小技巧
- Linux system 函数的一些注意事项
- 大数据_Storm_Storm 维护的一些注意事项
- shell编程的一些注意事项
- GridView 使用的一些注意事项
- 使用skimage.color.rgb2hsv时的一些注意事项
- D12一些注意事项
- 关于程序员工作 交接的一些注意事项
- 关于android sdk 与 Eclipse 的一些错误的解决注意事项
- ACM-常见注意事项
- Android layout的一些注意事项
- Win(Phone)10开发第(5)弹,本地媒体服务器的一些注意事项
- 从零开始攻略PHP(6)——代码重用与函数编写的一些注意事项
- 关于 REUSE_ALV_FIELDCATALOG_MERGE 的一些注意事项
- 总结出来的一些ASP.NET程序性能优化的注意事项