dp
lpls1
这个作者很懒,什么都没留下…
展开
-
poj3666 Making the Grade(dp,离散化)
能采用动态规划求解的问题的一般要具有3个性质:(1) 最优子结构:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。(2) 无后效性:(3)有重叠子问题:即子问题之间是不独立的,一个子问题在下一阶段决策中可能被多次使用到。(该性质并不是动态规划适用的必要条件,但是如果没有这条性质,动态规划算法同其他算法相比就不具备优势)...原创 2021-07-22 00:33:06 · 112 阅读 · 0 评论 -
hdu1029 动态规划,一次遍历得到数列中出现次数过半的值
动态规划的思想。因为要求数个数过半,所以如果存在,必只有一个。若 a 为n个数中出现次数过半的数,则去掉这个数列的前k个数,当这k个数中不存在出现次数过半的数时,剩余n-k个数中出现次数过半的数仍是a。自己列个式子证明下就好。我们先称这样的k个数的前缀数列为k数列吧。存在过半的数就是非k数列。注意n只会为奇数。所以,只要不断去掉数列的k数列,最终就一定会留下一个非k数列。怎样判断一个前缀数列是k数列?定义两个变量分别为ans、cnt。ans记录当前前缀数列中出现次数过半的数,cnt记录它出现的次原创 2021-07-04 00:20:47 · 136 阅读 · 0 评论 -
LCS及其应用(最长公共子序列)
dp[i][j]dp[i][j]dp[i][j]表示aaa串的前iii个与b串的前jjj个的最长公共子序列的长度。则:dp[i][j]={max(dp[i−1][j],dp[i][j−1])a[i]!=b[i]dp[i−1][j−1]+1a[i]=b[i]dp[i][j]=\begin{cases}max(dp[i-1][j],dp[i][j-1])& a[i]!=b[i]\\d...原创 2020-03-12 23:04:08 · 192 阅读 · 0 评论 -
矩阵快速幂优化的dp
如果你已经推导出了转移方程dp[i][j]=∑dp[i−1][fit[j]]dp[i][j]=\sum dp[i-1][fit[j]]dp[i][j]=∑dp[i−1][fit[j]]那么你可以把这个式子表示为如下的矩阵形式:[010101010]∗[dp[i−1][0]dp[i−1][1]dp[i−1][2]]=[dp[i][0]dp[i][1]dp[i][2]]\left[\begin...原创 2020-03-07 21:12:15 · 142 阅读 · 0 评论 -
数位dp(洛谷2657)
步骤:1.init()预处理出dp数组.dp[i][j]表示数位长度为i的最高为j的数字中的windy数的个数.则dp[i][j]=sum(dp[i-1][k]),0<=k<=9&&abs(k-j)>=22.写出计算[1,x]的windy数个数的函数cal(int x).假设x为2345,则先算出[1,1000),再算[1000,2000),再算[2000...原创 2020-01-17 21:21:07 · 220 阅读 · 0 评论 -
树形dp
poj2342任何一个点的取舍可以看作一种决策,那么状态就是在某个点取的时候或者不取的时候,以他为根的子树能有的最大活跃总值。分别可以用f[i,1]和f[i,0]表示第i个人来和不来。当i来的时候,dp[i][1] += dp[j][0];//j为i的下属当i不来的时候,dp[i][0] +=max(dp[j][1],dp[j][0]);//j为i的下属import java.io.IOE...原创 2019-11-07 08:43:52 · 72 阅读 · 0 评论 -
LIS(最长上升子序列)(dp/二分)
dp[i]为长度为i+1的上升子序列的最小尾元素遍历a[]进行更新。如果a[i]>dp[j],则dp[j+1]=min(dp[j+1],a[i])且dp[0]=min(a[i],dp[0])。 int max=0; int INF=(1<<30)-1; int dp[]=new int[n];//dp[i]为长度为i+1的上升子序列的最小尾元素 for(...原创 2019-10-24 20:13:16 · 168 阅读 · 0 评论 -
完全背包的化简,以及不同要求下的初始化
完全背包经历了两次化简。1.从二维变一维。2.从三层循环变两层循环。二维三层循环:/*初始化*/for(int i=1;i<=n;i++) { for(int j=1;j<=K;j++) { for(int k=1;k<=j/w[i];k++){ dp[i][j]=Math.min(dp[i-1][j-w[i]*k]+p[i]*k, dp[i][j]);...原创 2019-10-23 11:13:44 · 176 阅读 · 0 评论