整体总结:
1.今天的问题主要出在了对于复杂度分析不够 T2写的就是正解 但是我自我认为写的做法过不去m=30的点 导致我只敢判m=20的点 于是从100分变成了58分
2.对于每一个部分分都要认真打 能加上的剪枝不管自我认为有没有用都要加上 可能会有更高的分
3.代码可以少加的东西就少加 保证思路清晰就行 在自己觉得做法太麻烦的时候可以想一想有没有什么东西可以替换一下
4.对于T3这种神人语文理解题 可以用鼠标指着一个字一个字读 这样理解程度会增加
T1
思路很好想 考虑正难则反 正着统计合法的不好统计 那么可以用整体的减去不合法的 不合法的就是整条彩边全相同的情况 拿容斥算一下就行了
T2
注意到了m=20的部分分 打了一个暴力dfs 加了一个队列剪枝 赛时不认为这个复杂度是对的 但其实考虑队列剪枝 每次会剪一半 所以复杂度是对的
这题也有一些运气成分在里面 我本来懒得写剪枝的 但不知道为什么写了一个 在暴力跑不过的情况下本来要输出随机数的 但我却一下改成了0 这两个一结合凭空多了18分
T3
考虑暴力dp 直接枚举情况 暴力转移 这种dp是n的4次方的 我们可以对于这个dp拆式子 这样可以分析出一些性质 从而剪枝过掉
T4
这题的40分暴力很好拿 直接在暴力的基础上加一个bitset优化就行了 经验:在暴力的情况下经常可以使用bitset来进行优化 可以优化复杂度
以后要从暴力的思想上尝试优化点