"题目链接" 这明摆着是一道计数题,计数题能用些啥?dp?我不会拦你的。多项式?生成函数?没错,这道题就是生成函数。 不能难发现,深度=祖先数+1,而$i$是$j$的祖先,当且仅当对任意在$i$和$j$之间的整数$k$,均满足$a_ij)\end{cases} $$ 方法:考虑先往序列里面插入所有下 ...
分类:
其他好文 时间:
2020-02-25 23:15:12
阅读次数:
81
题意:就是连连看,有两个相同的就能消除,再加上两个特别的规定,一是只能从栈顶开始消除,而是两个相同的元素之间距离不能超过6,询问能否消除序列中所有元素。 思路:数据水,贪心就能过,但严谨的考虑,贪心显然不能解决所有问题。这题虽然序列很长,但是状态并不复杂,可以使用滚动的状压dp,然后考虑使用多少位表 ...
分类:
其他好文 时间:
2020-02-25 23:10:17
阅读次数:
60
这道题跟leetcode的第10道题差不多;都是用差不多相同的思想解题。 当为?或者p1 == s1 的时候,则dp[p1][s1] = dp[p0][s0] 当为*的时候,则dp[p1][s1] = dp[p1][s0] | dp[p0][s0] | dp[p0][s1]; 因为,此时p1可以等于 ...
分类:
其他好文 时间:
2020-02-25 23:01:50
阅读次数:
67
https://tdpc.contest.atcoder.jp/assignments N 简单的树形DP,把加边转化成加点,组合数简单算一下。 Q 为了不重复只能加01字符。 为了知道是否成段需要记录结束位置。 但是这样没法转移。可以再存一个AC自动机状态,也可以再存末7位的数。可以发现结束位置需 ...
分类:
其他好文 时间:
2020-02-25 17:58:53
阅读次数:
78
既然来到了这一步,则对01背包有一定的了解了 重要的来了。。。。。。。 dp[v]=max(dp[v],dp[v-c[i]]+w[i]); 关于这个01背包因为每个物品只有一件所以每个物品最多只能拿一个所以对于dp[v]是由dp[v-c[i]]得来 反例:如果正序的话则在处理i物品的时候 先是处理d ...
分类:
其他好文 时间:
2020-02-25 16:04:10
阅读次数:
125
石子合并不应该是个区间dp? 题目:There is an old stone game.At the beginning of the game the player picks n(1<=n<=50000) piles of stones in a line. The goal is to me ...
分类:
其他好文 时间:
2020-02-24 22:40:11
阅读次数:
82
来源:JZOJ 题目描述 你有一个猪圈,有 $N$ 头猪,每天你最多可以杀一头猪卖钱,收益就是猪的体重。但是每过一天猪的体重都会下降 $Pi$,问 $K$ 天内你的最大获利。 解题思路 这是一道纯粹的 $01$ 背包,就是要处理一个细节:猪的体重会下降; 首先,要按体重下降速度排序,下降快的肯定得先 ...
分类:
其他好文 时间:
2020-02-24 20:39:13
阅读次数:
66
"题面" 题解 考虑树形 DP , 设 $f[i]$ 为 $i$ 节点为根的子树最大收益是多少, $h[i]$ 代表 $i$ 节点的最优方案是否唯一 转移的话拿个堆记一下子节点中 $ 0$ 的那些, 然后 $h$ 跟他们的与一下 若是剩下来的有 $f = 0$ 或是跟你选的是一样的, 这个点 $i$ ...
分类:
Web程序 时间:
2020-02-24 20:29:54
阅读次数:
85
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1087 题目大意: 多组数据,一个n和一个n个元素的序列,找到和最大的严格上升子序列 思路: 和严格上升序列有点像,不过dp数组dp[i]变成以i为结尾的序列的最大值。 就是需要对于每一个i维护一个小于这 ...
分类:
其他好文 时间:
2020-02-24 18:18:35
阅读次数:
52
区间DP模板 模板题:poj1651,hdu4632 区间dp,就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的最优解,进而得出整个大区间上最优解的dp算法。 具体操作 枚举区间长度len为每次分割成的小区间长度(由短到长不断合并), 中层枚举该长度下可以的起点(终点即为起点 ...
分类:
其他好文 时间:
2020-02-24 15:15:03
阅读次数:
82