
动态规划
riversuer
百折不可夺其志,万念不可乱其心。
展开
-
Bone Collector(模板0,1背包)
VJ链接 题意: 有n块骨头,背包容量为m。给出每块骨头的重量与价值,问能够得到的最大价值是多少 思路: 每块骨头都可以选择放或者不放。标准01背包模板题 #include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int v[1010],w[1010],dp[101...原创 2019-12-07 19:38:20 · 82 阅读 · 0 评论 -
悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包)
多重背包原创 2019-12-10 10:35:38 · 283 阅读 · 0 评论 -
湫湫系列故事——减肥记I(完全背包)
完全背包原创 2019-12-07 19:53:19 · 96 阅读 · 0 评论 -
LOOPS(概率dp)
题意: 有一个r*c的迷宫,每一个位置给出向右一步,向下一步,停留原地的概率。每走一步消耗掉2能量,求从(1,1)到(r , c)需要的能量期望 思路: 用一个三维数组记录每格三种行动情况的概率 dp[i][j]来记录期望,表示从(i ,j)到(r,c)的期望值。 转移公式为: dp[i][j]=m[i][j][1]*dp[i][j+1]+m[i][j][2]*dp[i+1][j]+dp[i...原创 2020-03-29 20:55:30 · 282 阅读 · 0 评论 -
Collecting Bugs(概率dp)
题意: 需要查n个bug,每天查一个bug。有s个子系统,要求每个子系统至少有1个bug的期望 思路: 每次找到一个bug会有四种情况: 属于已经找到过的bug,和已出现过的子系统; 属于未经找到过的bug,和已出现过的子系统; 属于已找到过的bug,和未出现过的子系统; 属于未找到过的bug,和未现过的子系统; dp[i][j] = p1 * (dp[i+1][j+1] + 1) + p2 ...原创 2020-03-29 20:38:11 · 328 阅读 · 1 评论 -
数塔(入门dp)
dp 数塔原创 2019-12-03 19:49:45 · 247 阅读 · 0 评论 -
By Elevator or Stairs(动态规划)
原题链接 题意: 一栋楼共n层,从第i层到第i+1层走楼梯和坐电梯需要的时间不同。走楼梯需要的时间为ai,坐电梯存在一个等待时间c(如果从下一层上来靠走的楼梯或者位于第一层),坐电梯也需要bi的时间。问到达第i层需要的最短时间是多少。 思路: 首先应该明确用动态规划的思想来解题,用贪心的话某些情况可能解决不了。 状态分析:定义上楼的状态和两种方式上楼所需的时间dp[1010][2],a[1010]...原创 2019-10-31 21:27:08 · 653 阅读 · 0 评论