dp套dp(动态规划)

本文探讨了一类动态规划问题的处理方法——dp套dp,用于解决需要计数满足特定条件的方案数。通过举例P4590 [TJOI2018]游园会和CF979E Kuro and Topological Parity,解释如何用外层dp进行计数,而内层dp构建自动机,以实现不同情况的动态规划状态转移。这种技术能够有效地处理涉及多个可能状态的动态规划问题。
摘要由CSDN通过智能技术生成

dp套dp

这是一个对于一类动态规划的计数问题的处理方法,问题常常是如果形式确定就可以直接dp,但是现在却要求满足某个要求的所有方案数,一般的处理方法就是一维负责增量构造,其他维度用来表示内部dp状态,然后转移时候先让内部状态转移,然后外部dp对应存储方案数。

类似于将内部的dp转移变成一个自动机,可以接受所有不同的转移,然后我们的外层dp就是在自动机上进行计数。

P4590 [TJOI2018]游园会

给定一个长度为k的字符串,求解长度为n的字符串中LCS为i的个数,对所有的i输出答案。

首先对于LCS的一般处理就是dp,但是这里我们需要处理不同的串,而不是单一的串的问题,所以我们使用dp套dp,然后对于内层状态我们需要保存不同串下的对应dp状态,那么可以发现利用差分可以得到一个长度为k的01串,那么我们可以将其视作是自动机的状态,然后每次新增加一个字符就可以转移,然后我们只需要在外层再套上一个dp来计数即可。

CF979E Kuro and Topological Parity

https://www.cnblogs.com/wmrv587/p/9051201.html
题意:
给定n个点,每个点有黑白两种颜色(如果没有颜色,那么你可以把它任意涂成黑色或白色),同时你可以在这个图上任意加入一些边(当然不能加入重边或自环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值