上一页 1 ··· 98 99 100 101 102 103 104 105 106 ··· 132 下一页
摘要: update 2024.9.1 证明不了正确性,而且上面的第一种转移是忽略了阶段的,如果要进行第一种转移,只有先对所有状态做第二种转移,然后选出最小的状态去转移其他状态;把这题背下来吧 阅读全文
posted @ 2024-01-29 19:25 最爱丁珰 阅读(16) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2024-01-29 19:24 最爱丁珰 阅读(6) 评论(0) 推荐(0)
摘要: 这个令\(u\)为最小的节点为啥是对的啊?感觉有点问题的。但是如果用填表法倒是可以枚举在集合中的编号最小的点的,因为这个点一定要与某个点配对 带花树是啥啊? update 2024.9.1 这种选编号最小的优化一个次方的技巧一定要记住,属于状态转移的等效缩放 阅读全文
posted @ 2024-01-29 18:53 最爱丁珰 阅读(15) 评论(0) 推荐(0)
摘要: 蓝书上的那个补全数组思想其实是 当然这个问题完全可以拓展到状态压缩 中间那一串是乘法的意思 状态压缩具体内容见状态压缩的专题 阅读全文
posted @ 2024-01-29 18:08 最爱丁珰 阅读(12) 评论(0) 推荐(0)
摘要: 可以尝试推导一下,是推不动的,但是又没有什么更好的状态设计的方法,这个时候可以尝试分摊费用 我们先随便写一个序列,考虑费用是怎么产生的,然后怎么分摊费用给每个单元 如图,箭头的长度之和就是总费用 所以一个很显然的分摊费用的方法就是:对每一个箭头,把他跨过的位置对答案的贡献加一(也就是每个位置产生的费 阅读全文
posted @ 2024-01-29 17:35 最爱丁珰 阅读(11) 评论(0) 推荐(0)
摘要: 其实做到这里,可以想一下费用提前计算的题目有什么特征 首先,如果按照正常的DP,一个单元所产生的的费用是要等DP到这个单元的时候才计算的 而如果这个单元的费用可以拆分(比如此题,时间乘以费用系数,由于系数固定,所以把时间拆分出来,也就是乘法分配律,\((a+b+c...)\times d=ad+bd 阅读全文
posted @ 2024-01-29 07:44 最爱丁珰 阅读(15) 评论(0) 推荐(0)
摘要: 这道题目是很典型的费用提前计算的题目 费用提前计算,我们考虑如何分摊费用到每个单元上 这里就是在走向一个路灯时,把这段时间剩下没关的所有路灯的费用算到这个路灯上 然后尝试推一下方程,由数学归纳法可知是能够推走的 阅读全文
posted @ 2024-01-29 07:28 最爱丁珰 阅读(17) 评论(0) 推荐(0)
摘要: 费用提前计算,一个很重要的思想就是考虑如何分摊费用到每个单元上,然后直接计算每个单元对全局费用的贡献 这道题目可以知道,比较特殊的是蓝草和绿草(所以下面就先考虑这两种草而忽略红草) 对于蓝草,我们种在某一格,他对全局造成的影响是什么?他既会使前面(定义为从入口那端开始数)的绿草的中毒的伤害增加也会使 阅读全文
posted @ 2024-01-29 00:12 最爱丁珰 阅读(31) 评论(0) 推荐(0)
摘要: 很容易想出一个状态,设\(f[i][j][0/1]\)表示以\(i\)为根节点,安装\(j\)个监听器,根节点是否安装了监听器的总方案数 然后你去推,就会发现我们还需要知道根节点是否被监听这一个信息(最开始\(0/1\)那一维设成根节点是否被监听也是会发现需要知道根节点是否安装了监听器) 所以我们设 阅读全文
posted @ 2024-01-28 23:17 最爱丁珰 阅读(28) 评论(0) 推荐(0)
摘要: 看到这种题可能一来没有思路,但是很明显地可以发现DP方程为\(f[i][j]\)表示以\(i\)为根的子树,\(i\)的值为\(j\)的最小权值 显然会超时,但是我们也显然没有什么更好的DP状态可以设置,所以DP状态肯定是这个 那么就是说我们的第二维设置大了,这就说明有引理会让整棵树的最大权值不是很 阅读全文
posted @ 2024-01-28 10:39 最爱丁珰 阅读(14) 评论(0) 推荐(0)
上一页 1 ··· 98 99 100 101 102 103 104 105 106 ··· 132 下一页