随笔分类 - dp-状态dp
摘要:一般的期望dp是, dp[i] = dp[j] * p[j] + 1; 即走到下一步需要1的时间,然后加上 下一步走到目标的期望*这一步走到下一步的概率这一题,我们将联通分块缩为一个点,因为联通块都是安全的dp[u][s] 为当前在u,走过的联通块为s的期望天数那么走到剩下没有走过的连通块的概率是 ...
阅读全文
摘要:求从1点出发,走遍所有的点,然后回到1点的最小代价。每个点可以走若干遍。如果每个点只能走一遍,那么设dp[i][s]为走完s状态个点(s是状态压缩),现在位于i的最小花费。然后枚举从哪个点回到原点即可。但是现在每个点不止走一次,那么状态就不好表示了,但是,我们可以用floyd处理出任意两点的最短距离...
阅读全文
摘要:一个数字是Balanced Numbers,当且仅当组成这个数字的数,奇数出现偶数次,偶数出现奇数次一下子就相到了三进制状压,数组开小了,一直wa,都不报re,使用记忆化搜索,dp[i][s] 表示长度为i,状态为s,时,满足条件的balance number的个数#include #include...
阅读全文
摘要:一直不明白为什么概率是正推,期望是逆推。 现在题目做多了,慢慢好像有点明白了poj2096收集bug, 有n个种类的bug,和s个子系统。 每找到一个bug需要一天。要我我们求找到n个种类的bug,且在每个系统中都找到一个bug的期望天数设dp[i][j] 为找到i个种类的bug和在j个系统中找到b...
阅读全文
摘要:上周的3*N的骨牌,因为状态只有8中,所以我们可以手算出状态转移的矩阵但是这周是k*N,状态矩阵不好手算,都是我们改成用程序自动生成一个状态转移的矩阵就行了,然后用这个矩阵进行快速幂即可枚举枚举上下两行的状态,然后判断上一行的状态能不能转移为这一行的状态如果上一行的某个位置为0,那么这一行的该位置必...
阅读全文
摘要:http://hihocoder.com/contest/hiho42/problem/1给定一个n,问我们3*n的矩阵有多少种覆盖的方法第41周做的骨牌覆盖是2*n的,状态转移方程是dp[i] = dp[i-1] + dp[i-2],递推数列可以用矩阵快速幂来加速计算我们可以用状态dp来做这一题,...
阅读全文
摘要:给定n个点(n是偶数)使得两个点两两配对,最后总的距离和最小。用是表示集合,那么dp[s]表示集合s配对后的最小距离和 ,状态转换方程为表示集合中任意拿两个元素配对,然后转移为更小的两个集合的点集配对。i=min(s)表示i为集合中的第一个元素,因为第一个元素肯定要配对的,所以找到集合中的第一个元素...
阅读全文

浙公网安备 33010602011771号