一.http://codevs.cn/problem/4906/

以后所有的数据处理全部在读入之后进行!!!!

做题经验_解题

 二.http://noi.openjudge.cn/ch0205/2727/

1.注意memset的用法,siezof()里面写的是变量名

2.有时候vis数组开成int类型会超时!,so尽量把vis数组开成bool类型。省时省空间

 

三.http://codevs.cn/problem/4768/

1.注意在模拟的时候一定要把可能会出现的情况考虑全面

2.一定要从实际出发,不要死套模板

做题经验_c语言_02

四.http://codevs.cn/problem/1058/

1.在调试的时候一定要把整个程序的运行过程全部看完,否则会出现对了这个错了那个,对了那个这个又错了的情况!

做题经验_小结_03

 五.http://codevs.cn/problem/1001/

1.邻接表存的是边的数量,不是点的数量!!!!!!!!!!!!!!!!!!!!!

2.codevs有的时候抽风,当你数组开小的时候不是RE而是WA

做题经验_小结_04

 六.五一清北培训Day1T1

1.每次写程序之前,都要把思路整理清楚。要确保至少百分之八十都是正确代码。尽力避免写到一半才发现思路全错的情况

2.在搜索与回溯的时候,一定要特别注意状态的改变与状态的回复是否是一致的!!!!!

3,永远不要以为过了样例就能得很多分

4.自己在造数据的时候不要仅仅只考虑极端数据情况。先造几组正常数据,要不然会出现只过极端数据其他全WA的情况!!!!

 

七.http://cogs.pro/cogs/problem/problem.php?pid=2566

1.三目运算符比if快!!!!!!!!!

2.有时候一个简单的语句就有可能导致超时!!!!

3.自己写的KMP是从0开始的!!!!

 

八.ios有可能导致运行错误。

九.当多次WA 之后尝试把数组开大一点!!!!

十.当调了很长时间感觉自己程序对但是结果错误的时候,多读几遍题。。

十一.tarjan中退栈的时候注意删除vis标记!!

十二.在写带修改莫队的时候,

 

1 for(int j=cx[i-1].tm+1;j<=cx[i].tm;j++)
2             change(gg[j].pos,gg[j].val);
3 for(int j=cx[i-1].tm;j>=cx[i].tm+1;j--)
4             change(gg[j].pos,gg[j].pre);// 此处是pre,不是val!!!