2017-02-25
1.循环顺序是个挺重要的问题。有时候,倒着比正着更快。
2.如果一些问题可以使用数组解决,最好不要用STL。map什么的少用,multiset在大数据下不要使用,亲测奇慢无比。
3.能用数组存下,就不要用vector。图里面最好用链式前向星。
4.树状数组query时不要写成x>=0。
5.写完代码检查一下,数组开的够不够,同时计算一下,有没有中间量会爆int。
2017-02-26
1.推一些数学公式时,一定要把求的东西简化再简化,否则很有可能TLE。
2.推完以后,最好在后面打个小标记,方便以后检查。尤其要注意正负号是否打错,是+1还是-1这种问题。
2017-02-27
1.在搜索中,注意判断边界,尤其是0的情况,防止RE。
2017-03-11
1.不要随便用memset!!!
如果这样写:
char a[10];
memset(a,1,sizeof(a));//正确
但如果这样写:
int a[10];
memset(a,1,sizeof(a));//错误,a会被赋值为0x0101
赋成正无穷可以这样写:
memset(a,0x3f,sizeof(a));//但不要写0x3f3f3f3f,那只是爆了而已
赋成负无穷可以这样写:
memset(a,235,sizeof(a));//赋-1是-1或255
2.今天写分块是循环变量名又写错了……我是沙茶。
3.写SPFA时一定注意终止的状态,否则80%RE。
2017-03-13
1.发现在遍历树时有一点小问题:
dfs(int u,int fa)
{
blahblah...
for(blahblah...)
{
if(NexNode==fa) return;//*
blahblah...
}
}
这么写的话车毁人亡。。(虽然有时候不会错)
里面标“*”的地方一定写continue;
本文总结了程序设计竞赛中的一些实用技巧,包括循环顺序优化、数组使用建议、内存初始化注意事项等,旨在帮助参赛者提高编程效率及代码质量。
1645

被折叠的 条评论
为什么被折叠?



