dp
mlm5678
这个作者很懒,什么都没留下…
展开
-
工作指派问题(运筹学)
题目是这样的: 有4个工人,要分别指派他们完成4项工作,每人做各项工作的时间如下表: A B C D 甲 15 18 21 24 乙 19 23 22 18...原创 2020-08-04 01:41:22 · 9843 阅读 · 1 评论 -
动态规划问题数字三角形的(递归程序)
动态规划问题1.数字三角形的(递归程序)#include<iostream> #include<algorithm>#include<bits/stdc++.h>#define num 101 using namespace std;int d[num][num];int n; int maxsu...原创 2017-11-05 16:16:25 · 566 阅读 · 1 评论 -
牛客 E .ABBA
你有一个长为2∗(n+m)2∗(n+m)的字符串,每个位置填上A或B, 问你有多少个这样的字符串使得最终能提取出nn个"AB"子序列和mm个"BA"子序列dp即可,dp[i][j]表示前i个位置用了j个A的方案数通过n,m来计算当前位置最多已经用了多少个A。额,裸dp模就好了。#include<bits/stdc++.h>using namespace std;c...原创 2019-07-19 19:16:19 · 597 阅读 · 0 评论 -
最佳加法表达式 DP
题意:有一个由1..9组成的数字串.问如果将m个加号插入到这个数字串中,在各种可能形成的表达式中,值最小的那个表达式的值是多少。输入:5 31 2 3 4 5输出:24核心内容总结:所谓的DP是指 从最小的子结构最优,推往全局的过程。 跟是不是递推或者dfs还是记忆化无半毛钱关系。 ...原创 2019-05-27 00:28:54 · 414 阅读 · 0 评论 -
2019 河北省赛CCPC C分治
额,我不想说什么了,这道题 区间DP 或者 记忆化搜索 都可以做出来,结果当时就没去做,额,可能就是胆识不太够,不敢强打一波。后来还是感觉自己对DP的理解不够有力道深度,索性总结了一下DP这就是DP,算是姊妹篇吧。#include <bits/stdc++.h>using namespace std;typedef long long ll;ll a[105];l...原创 2019-05-26 23:05:15 · 497 阅读 · 0 评论 -
最长上升子序列(LIS)的两种算法
dp[i]表示以ai为末尾的最长上升子序列的长度,而以ai结尾的最长上升子序列有两种:1.只包含ai的子序列; 2.在满足j<i且aj<ai的以aj为结尾的上升子序列末尾,追加上ai得到的子序列。递推关系:dp[i]=max{1,dp[j]+1|j<i且aj<ai} 让我们举个例子:求 2 7 1 5 6 4 3 8 9 的最长上升子序列。我们定义d(i)...原创 2019-05-07 17:29:38 · 442 阅读 · 0 评论 -
HDU - 6492 分宿舍
题意:有几种使用方式及价格不一样的房间,n+k个男生,m+k个女生,其中k对情侣,求最小花费.题解:dp裸背包,先对普通的房间进行普通的背包dp,更新后的结果遍历爆破。#include<iostream>#include<algorithm>#define ll long long using namespace std;const ll inf=0x3f...转载 2019-04-19 02:16:59 · 265 阅读 · 0 评论 -
试题 I: 糖果#(状压dp)
【问题描述】糖果店的老板一共有 M 种口味的糖果出售。为了方便描述,我们将 M 种口味编号 1 ∼ M。小明希望能品尝到所有口味的糖果。遗憾的是老板并不单独出售糖果,而 是 K 颗一包整包出售。幸好糖果包装上注明了其中 K 颗糖果的口味,所以小明可以在买之前就知道每包内的糖果口味。给定 N 包糖果,请你计算小明最少买几包,就可以品尝到所有口味的糖果。【输入格式】第一行包含三个整数 N...原创 2019-04-18 01:17:34 · 1008 阅读 · 0 评论 -
冰水挑战
1006. 冰水挑战设d[ i ][ j ]为前 i 个挑战中完成了 j 个挑战所能得到的最大体力值。对于第 i+1 个挑战,我可以选择不挑战,那么d[ i+1][ j ]=max(d[i+1][ j ], d[ i ][ j])。选择挑战,那么d[ i+1 ][ j+1 ]=max(d[ i+1 ][ j+1 ],min(d[ i ][ j ], bi) - ai + ci ) (必...原创 2019-04-14 22:30:55 · 315 阅读 · 0 评论 -
hdu 4514 树形DP求树直径
#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <set>#include <map>#转载 2019-03-07 18:07:39 · 149 阅读 · 0 评论 -
hdu 4514 树形DP求树直径
在一个n各节点,n-1条无向边的无向图中,求图中最远两节点的距离,将这个图看作无根树,求的是树直径树形dp求树的直径我们不妨设1号点为根节点,那么这就可以看做一棵有根树。设D[x]表示从节点x出发,往以x为根的子树走,能够到达的最远距离。设x的子节点分别为y1,y2,y3,...,yt,edge(x,y)表示从x到y的边权,则可以得到状态转移方程: D[x]=max{D[yi]...原创 2019-03-07 17:08:49 · 356 阅读 · 0 评论 -
CCPC-WannaFly-Camp Growth(离散化DP)
问题 D: Growth时间限制: 1 Sec 内存限制: 256 MB弱弱有两个属性a和b,这两个属性初始的时候均为0,每一天他可以通过努力,让a涨1点或b涨1点。为了激励弱弱努力学习,我们共有n种奖励,第i种奖励有xi,yi,zi三种属性,若a ≥ xi且b ≥ yi,则弱弱在接下来的每一天都可以得到zi的分数。问m天以后弱弱最多能得到多少分数。输入第一行一个两个整数...原创 2018-08-16 21:58:27 · 395 阅读 · 0 评论 -
算法提高 最长字符序列
问题描述 设x(i), y(i), z(i)表示单个字符,则X={x(1)x(2)……x(m)},Y={y(1)y(2)……y(n)},Z={z(1)z(2)……z(k)},我们称其为字符序列,其中m,n和k分别是字符序列X,Y,Z的长度,括号()中的数字被称作字符序列的下标。 如果存在一个严格递增而且长度大于0的下标序列{i1,i2……ik},使得对所有的j=1,2,……k,有x(ij...原创 2019-02-10 16:18:16 · 167 阅读 · 0 评论