比赛时间安排
7.30-8.00 看题
t1 感觉暴力很好写,看着给的分段像是dfs,n3dp,n2dp,心中有dfs思路了
t2 样例推不出来,先过了(后来发现是把输入看错了)
t3感觉非常熟悉,标准状压类题目
t4一下子想到之前普转题的题目,烽火,类似的,只不过求的是最短路,应该是把点分开处理,具体细节忘了,想着之后再搞,第一档能拿
8.00-8.30
把t1暴力打了,开始思考,n^3的dp,感觉不太好搞,先写后面的了
8.30-9.30
直接写t4的网络流,刚开始想尝试一下直接分点,但是细节确实不好想,就像先打暴力,O(n)循环每个点,一次直接计算全部的值,加起来,但是写完之后发现样例过不去,调了很久依然有bug,所以最后直接上了最暴力的办法:枚举每一个点对当作S,T,终于过去了
9.30-10.20
比较混乱的时间
先是去想了t3的状压,我尝试用状压写了一些,但是觉得太麻烦,不知道如何处理国王和车的关系,难道用不同的数字代替》,三进制?!不敢想,写了挺久的,最后还是放弃了
然后再次回头去看t2,发现输入看错了,这次把样例推出来了,但是依然没有思路
10.20-11.00
想t1的dp,从三维开始,我感觉可以用背包来做,于是就一直往这上面去想,f[i][j][t]表示表示处理了前i个,已经选择了j个,总体积为t,然而写挂了,心态很崩
11.00-11.40
最后决定去看t3了,状压不可取,我就dfs,先枚举车的位置,保证他们合法,再在剩下的不被车攻击到的位置枚举国王,然后还要枚举在哪个位置放国王,是否合法,因为i,j打错调了很久的bug,最后竟然奇迹般的把8过了!
11.40-12.30
先去思考t4如何把点分开,未果,于是一心扑在t1的dp上,经理前几天的dp,我感觉我进步了,但其实是前几天的太简单了,哎,还是没有调处来
赛后总结反思
1.小错误太多,debug浪费时间,以后应该分块写,写一部分检查一下
2.不细心,题目输入没看清
3.t3写完之后没有自己手推几组小数据,导致dfs错了还不知道,直接全挂
与正解的差距
T1
T2
T3
知道暴力问题出在哪了
首先是边界错了,没有自己去检验(不应该)
其次是对于y坐标的限制导致情况少算了
正常得分:40分(之前能过60是因为边界错了,卡掉一坨,打表的话60就有了)
T4
把点分开的想法是不可行的,因为这样做只能保证两两之间的最大流都能求出来,但是会算重复,思路就不对了(另外,这个是根据点的编号二进制的每一位,0的分一堆,1的分一堆,思想不错,但是会重复)