动态规划
mil_mail
爱自己,才能爱别人。
展开
-
HDU 4501 小明系列故事——买年货
多维背包,看别人代码才能写出来啊!有点悲剧…… #include using namespace std; int dp[105][105][105]; struct node { int a,b,val; }; int main() { int i,j,l,e,kk,n,v1,v2; node job[105]; while(cin>>n>>v1>>v2>>kk) {翻译 2013-06-25 21:29:17 · 455 阅读 · 0 评论 -
HDU 1506 Largest Rectangle in a Histogram
这道题很容易超时,要小心; 用两个数组分别记录每个小矩形的左右边界,这样就不用重复计算已经算过的值; 这就用到了动态规划中的备忘录方法 #include #include #define INF 0x7ffffff using namespace std; int a[100005]; int n; int l[100005]; int r[100005]; int main() {原创 2013-08-04 11:25:04 · 455 阅读 · 0 评论 -
(DP)HDU 1158 Employment Planning
#include #include #define INF 10000000 using namespace std; int worker[100005]; int dp[13][100005]; int main() { int n; int i,j,k; while(scanf("%d",&n)!=EOF&&n) { int hire,salary,fir原创 2013-07-29 16:52:06 · 368 阅读 · 0 评论 -
(DP)HDU 1080 Human Gene Functions
/*状态转移方程:dp[i][j]=max(dp[i-1][j]+w[s1[i]]['-'],dp[i][j-1]+w['-'][s2[j]],dp[i-1][j-1]+w[s1[i]][s2[j]]) dp[i-1][j]+w[s1[i]]['-']表示s1中的字符与'-'相匹配得到的值; dp[i][j-1]+w['-'][s2[j]]表示'-'与s2中的字符相匹配得到的值; dp[i-原创 2013-08-01 09:24:55 · 361 阅读 · 0 评论 -
(DP) HDU 1227 Fast Food
/*dp[i][j]=min(dp[i][j],dp[k][j-1]+d[k+1][i]) dp[k][j-1] 表示从k个饭店中建立j-1个仓库 d[k+1][i] 表示从第k+1个饭店到第i个饭店之间建立一个仓库最短距离 */ #include #include #define INF 1000000 #define min(a,b) a<b?a:b u原创 2013-07-30 17:16:41 · 439 阅读 · 0 评论 -
HDU dp 2059 龟兔赛跑
#include #include #define MAX 1000000.0 using namespace std; int main() { int L; int n,c,t; int vr,vt1,vt2; int p[105]; float dp[105]; int i,j; while(scanf("%d",&L)!=EOF)原创 2013-07-15 09:03:52 · 528 阅读 · 0 评论 -
HDU dp 4502 吉哥系列故事——临时工计划
纠结了很久的一道题…… 刚开始接触动态规划,有点难,自己能推出动态方程不容易啊! #include #include using namespace std; struct node { int s,e,v; }; int dp[105]; int main() { node job[1005]; int n,m,t; int i,j; cin>>t; whil原创 2013-06-25 17:12:50 · 409 阅读 · 0 评论 -
HDU dp 2571 命运
dp的题目,dp[i][j]=max(dp[i-1][j],dp[i][j-1],dp[i][j); #include #include #include #define INF -1000000 using namespace std; int dp[25][1005]; int main() { // freopen("in.txt","r",stdin); int c,n,m原创 2013-07-02 09:14:06 · 410 阅读 · 0 评论 -
HDU 2546 饭卡
http://acm.hdu.edu.cn/showproblem.php?pid=2546 用01背包的思想做的 #include #include "string" #include "algorithm" using namespace std; int dp[1005][1005]; int main() { int n; int a[1005]; int i,原创 2013-06-22 17:32:36 · 394 阅读 · 0 评论 -
HDU 1114 Piggy-Bank
完全背包问题 dp[j]=min(dp[j-w[i]]+p[i],dp[j]);dp[j-w[i]]+p[i]表示放进重量为w[i],价值为p[i]的物品,dp[j]表示不放此物品。 #include #include #define INF 0x6fffffff #define min(a,b) a<b?a:b; using namespace std; int dp[10005]原创 2013-08-04 10:44:23 · 401 阅读 · 0 评论