最近没什么时间写博客,所以只能偶尔抽时间总结一下。
最近考试状态还算好。
模拟测试41 T2暴力打的不够优秀
模拟测试42 T1bitset没有去想优化 T2贪心没有实现
模拟测试43 T3单调栈打挂
模拟测试44 T2贪心没有打比较简单的那种,数据都是比较简单的
模拟测试45 T3数组开小
模拟测试46 T1想到了乱搞没有去实现,T2多开了一个数组MLE,T3 2的没有爆int的次幂我用了快速幂
总结一下:
1.暴力能优化尽量去优化,至少不要因为没有优化的暴力挂分,如:
树上的路径问题能用dfs就不要倍增了,
如果复杂度比较玄学可以先把数据打乱一下(random_shuffle),
对于内存开不下 时间还好并且各状态互不影响的做法可以多跑几次,循环利用空间,
少犯一些sb错误。
2.随机化算法是一种很优秀的算法,不是数据水不水的问题,模拟退火,爬山都应活学活用。
对于一些只求 可不可能/最优解/随便一种方案 的问题,直接rand方案也未尝不可,如果能给随机化加上启发式说不定就会更加优秀
3.很多时候,考虑实际意义要比打表快的多,但打表也是一种重要的手段,正难则反,学会逆向思考
4.善于使用离线算法
5.一般来说,给定若干个区间是排序后贪心
hzoi csp-s加油!