动态规划
Fxxxxxp
Be better!
展开
-
poj 1163 The Triangle
poj 1163 TheTriangle 题目描叙:从定点到最下端,经过的路径和的最大值。 解题思路:dp。细节见代码。 #include #include #include #include using namespace std; int n,a[110][110],dp[110][110]; int main() { int i,j; while(scanf("%原创 2015-08-14 20:48:29 · 276 阅读 · 0 评论 -
hdu 1171 Big Event in HDU
hdu 1171 Big Event in HDU 题目大意: 有一批设备要分给两个学院,每个设备具有每一个的价值,要使两个学院分得的设备价值可能相等,如果不相等,那前面的学院分得的设备价值要大于后面学院。 解题思路: 转换成dp , 也就是 0-1背包问题。把背包的容量定位 总价值/2 。 看了半天还是没怎么搞懂 代码是如何实现的。贴个代码,留着慢慢看 。再来一个 大神的讲解: htt原创 2015-09-20 16:38:38 · 250 阅读 · 0 评论 -
hdu 1163 免费的馅饼
hdu 1163 免费的馅饼 终于对dp有点感觉了,但是还是没找出该题的状态转移方程。 总结: 要把题目转换成dp 的类型,然后再找到状态转移方程,还要注意边界条件。 题目大意: 自己看。 解题思路: dp 倒着dp更方便。 #include #include #include using namespace std; int dp[110000][11],fuck[110000原创 2015-09-20 11:21:39 · 283 阅读 · 0 评论 -
hdu 1203 I NEED A OFFER!
hdu 1203 I NEED A OFFER! 题目大意:小明只有 n 刀,他打算申请一个大学,有 m 所大学他可以选择,但是每所大学需要 a[ i ] 刀的学费 并且录取的概率是 b[ i ] ,求小明 至少能被一所学校录取的概率是多大。 解题思路:0-1 背包 至能被一所大学录取 = (1 - 没有一所大学录取) , 所以求出 没有被一所大学录取的最小概率就可以了。dp[ j原创 2015-10-09 11:00:42 · 372 阅读 · 0 评论 -
hdu 3449 Consumer
hdu 3449 Consumer 题目大意: n 个 box ,每个 box 只能装指定的物体且每个 box 需要钱去买,有 w 的总金额,求 w 能买回价值最大物 体组合。 解题思路: 有依赖的 0 - 1 背包。 看到这道题,给我的最大感受是,自己见的题目太少了,一点都没思路,而且还是第一次听说 有依赖的 0-1 背包,最重要的是基本不扎实。 一些难得题目都是由 基本的算原创 2015-10-07 11:10:23 · 309 阅读 · 0 评论 -
hdu 1114 Piggy-Bank
hdu 1114 Piggy-Bank 题目大意: 知道一个储钱罐的原始重量和装了硬币后的重量,再给 n 种硬币的 价值 和 重量,求这个储钱罐中硬币的最小价值。 解题思路: 完全背包。 状态转移方程 : dp[j] = min( dp[ j ] , dp[ j - weight[ i ] ] + value[ i ] ) 初始化的时候 dp[ 0 ]原创 2015-10-06 10:37:44 · 306 阅读 · 0 评论 -
hdu 1158 Employment Planning
hdu 1158 Employment Planning 题目大意: 一个公司在n个月里需要 a[1] , a[2]~~ a[n] 个人 , 招一个人,一个人每个月的工资和解雇一个人分别要花费 hire ,salary , fire的金钱,求n个月里花费的最小金额。 解题思路:dp 要使得 n 个月的时候钱最小,那么 n-1 的钱也是最小的。 如果n 个月需要的人数大于 n-1 个原创 2015-10-01 15:44:26 · 277 阅读 · 0 评论 -
hdu 1159 Common Subsequence
hdu 1159 Common Subsequence 史上最经典的 dp 要把它吃透 #include #include #include #include char a[1000],b[1000]; int c[1000][1000],lena,lenb,i,j; using namespace std; int main() { while(scanf("%s%s"原创 2015-08-18 21:29:34 · 278 阅读 · 0 评论 -
hdu 2059 龟兔赛跑
hdu 2059 龟兔赛跑 题目大意:就是乌龟和兔子赛跑,总路程是 l, 兔子只能匀速跑 速度为 vr,但是乌龟用电动车跑的速度为 vr1,开始的时候电动车满电,可以跑 C 距离,然后要充电,充满要 t 时间,当电传动车没电时,只能以 vr2 的速度跑。这一段路上有 n 个充电站,每一个充电站离始点的距离是 s[i] ,求谁先到达。 解题思路:状态dp 。 以每个充电站作为判断点。 #inc原创 2015-08-18 20:44:20 · 348 阅读 · 0 评论 -
zoj 3905 Cake
zoj 3905 Cake 题目大意: 有 n 个蛋糕,对每个蛋糕 A 认为它值 a[ i ] ,B 认为它值 b[ i ] , 每次拿 2个蛋糕,B 先选他认为 价值大的 蛋糕, A 拿剩下的 , 求 A能拿到蛋糕的最大价值 。 解题思路: dp[i][j] 表示 前 i 个物体 A 拿 j 个 能取的最大价值 , 对于第 i 个 物体来说有两种选取情况 , 一是拿 ,则 dp[i-1][原创 2015-10-13 10:25:39 · 512 阅读 · 0 评论