(由于csdn崩了,先在这里写了)
时间安排
8.00-8.35 看题
8.35-9.30 手玩了t2的几组样例并推出了一些“显而易见”的性质(指我可以把每一组直接相连的边转化成一个二进制数,对于每个点都有一个数,然后发现每个数都最多只会被选择一次,因为选两次的话他自己异或起来就没了,根据这个性质,可以对 n < = 20 n<=20 n<=20的数据进行爆搜然后验证),然后先码了40分暴力,当时觉得自己离正解其实不远了,可能就是一个小技巧的问题,就又多耗了一会儿,还是没想法,就暂时放弃了。
9.30-10.10 写了一个T1的假dp,写出来“只能过样例”,数据稍微一大就错了,也没啥更好的思路,因为当时的dp式子推的时候就感觉有问题,dp的思路大致为先将所有的派按照右端点进行排序,对于每一个数将它前面能加进来的数全加进来
10.10-11.00 写了T4的第一档分,但不知道为什么挂了,当时的思路就是先找到那个度数大于2的点,然后找从他出去的三条链,然后相加比较一下。
11.00-11.40 t3暴力,写了一个状压表示每一个位置可以填的机器,卡在了去判断合不合法上。
11.40-12.10 没再写什么东西,主要检查了一下T2,然后加了一个小骗分(输出n/2+1)。
总结
1.区间dp的题目做的太少,很多时候连题目可以用区间dp做都看不出来。
2.很多暴力分还是拿不到,订题时一定要先写一个暴力,尤其是对于那些在考场上没打出暴力的题目。
(大致)订完题后的总结
对于T1,还是说对区间dp的敏感性不够,甚至下来sr给我说他觉得能用区间dp的时候我还不是很相信,因为我对T1区间dp完全没思路,但是看了题解后感觉也不难,其实关键就在于把枚举的重心从常规的地方换到另外的条件,然后状态和递推式就好设计多了。
T2,对于这种把一个题目分成两半然后再尝试处理的思路不熟悉,想不到,然后就是订题的时候,没用hash卡了我半天,hash的板子还是不太熟,考试的时候只想着用map代替,结果总是被log卡。
T3 考试的时候有两个问题,其一:状压的思路不清楚,把三进制状压写成了二进制,然后就是关于判断中,想复杂了,写了一个
O
(
n
4
)
O(n^4)
O(n4)的判断,其实不用那么暴力,记录一下很轻松就能写到
O
(
n
3
)
O(n^3)
O(n3),然后第一档分的复杂度就没问题了。
T4 考试的时候只尝试了第一档分的写法,中间的处理出了些问题,其实我在做链的处理的时候中间一部分和正解的思路很像,我觉得重点就应该在抓住这一点相像的地方然后往大数据,常规数据上推,所以之后的模拟赛一定要多在暴力的思路上下功夫去扩展,但同时也要注意死磕不出来的时候也要学会跳出来,就像之前模拟赛里面的一道贪心题,50分就是一个dp,但要是陷入优化dp的思路,就错了。