7.11的比赛要注意:
0. 摆好蒟蒻心态,不要自以为是。
1. 至少打完三题暴力再死磕一题!
2. 首次思考时间控制在1h, 每一题都要保证至少思考20分钟,不要把容易拿的分丢掉了。 打完所有有(暴力)分的题之后再来继续想。(第二题的15~35分暴力没有打)
3. 记得多根据数据范围与问题想一下学过的算法。(好像不记得了。。)
第一题
第一眼看就是递推dp之类的东西。不过细节好像很多,而且还卡时间空间…
因为最后没啥时间 + 没考虑前缀0的情况,所以只有40..
update 7.11 20:21
刚看到一种奇妙的解法
for i:=1000 to 1999 do if pd(i,4)then inc(b[i mod 10]);
for i:=0 to 9999 do if pd(i,4)then inc(c[i mod 1000],b[i div 1000]);
for i:=0 to 9999 do if pd(i,4)then inc(d[i mod 100],c[i div 10]);
for i:=0 to 99999 do if pd(i,5)then inc(a,d[i div 1000]);
大意就是将这个13为长的字符分为4个有重复的小段,只要使得目标串不在这四小段里的任意一段出现,那么就一定不会有完整的目标串出现在这四个分段方法里。
第二题
一脸懵逼,什么东西? 暴力都不会打..
http://blog.****.net/jokerwyt/article/details/74989267
第三题
一开始不会,然后打着打着暴力发现,好像直接上lct就可以了。。
还可以树链剖分,并查集。
lct还不是特别熟练,还需要练习..
7.13(7.12要去被虐)的比赛要注意:
0. 摆好蒟蒻心态,不要自以为是。
1. 先打暴力再打正解,有助于思考与查错。
2. 首次思考时间控制在1h, 每一题都要保证至少思考20分钟。
3. 记得多根据数据范围与问题想一下学过的算法。
要另外去做的事:
学习ac自动机与trie上dp的姿势; 做lct虚边维护的题目。