摘要: 赛时用的DP,但是转移有一点点想不清楚 设\(f[i][0/1]\)表示前\(i\)个字符,以\(0/1\)结尾的最小删除数目,\(g[i][0/1]\)表示前\(i\)个字符,在达到以\(0/1\)结尾的最小删除数目的前提下的方案数 然后就会发现此时的\(g\)比较难转移,我们必须要将删除字符转换 阅读全文
posted @ 2024-08-12 15:54 最爱丁珰 阅读(17) 评论(0) 推荐(0)
摘要: ABCD中卡的最久的一道题目,而且是先做了D回过来做才灵光一现的。。。 由于每行每列都要有chip,考虑如果某一行/列没有chip会发生什么 加入某一行没有chip,那么我们显然要保证每一列都有chip,而如果每一列都有chip的话,显然是将所有chip都放在最小的行上;对列同理分析 阅读全文
posted @ 2024-08-12 15:38 最爱丁珰 阅读(22) 评论(0) 推荐(0)
摘要: 看这篇题解 解释一下,如果存在一个点通向父亲的边和某一条通向儿子的边的颜色相同,那么一开始如果起点就在这个点的话,是没有办法向上走的,所以任意一个点通向父亲的边和某一条通向儿子的边的颜色不同 对于非特殊点,我们只要一直走没有重复出现的那个颜色就好了 如果某一时刻走到了特殊点,此时如果特殊点奇偶性均相 阅读全文
posted @ 2024-08-12 15:29 最爱丁珰 阅读(28) 评论(0) 推荐(0)
摘要: 算法的流程看OI-wiki,实现以及统一处理的部分也要看 讲下时间复杂度,显然最外层循环是\(O(n)\)的,主要是看内部的那个while循环的次数。如果是\(i\)在\((l,r)\)的内部,那么只会执行一次,否则的话会执行多次,但是执行多少次\(r\)就会增大多少,整个过程\(r\)单调不减,最 阅读全文
posted @ 2024-08-12 09:48 最爱丁珰 阅读(17) 评论(0) 推荐(0)
摘要: dsu on tree的板子题目,先从暴力思考怎么做,然后就会发现可以用树上启发式合并了 阅读全文
posted @ 2024-08-12 08:33 最爱丁珰 阅读(24) 评论(0) 推荐(0)
摘要: 先考虑暴力怎么做 dfs搜索每个节点,对于当前节点,用迭代遍历其子树并更新答案,在回溯的时候将计数数组清空,时间复杂度为\(O(n^2)\) 注意到,对于每次准备回溯的时候,设当前根节点为\(u\),其父亲为\(x\),在计算\(x\)的时候,如果\(u\)是最后一个dfs计算的(注意此时\(x\) 阅读全文
posted @ 2024-08-12 08:22 最爱丁珰 阅读(25) 评论(0) 推荐(0)