上一页 1 2 3 4 5 6 7 8 ··· 13 下一页
摘要: http://poj.org/problem?id=2486题意:一颗树,n个点(1-n),n-1条边,每个点上有一个权值,求从1出发,走V步,最多能遍历到的权值 1 #include <iostream> 2 #include <cstring> 3 #include <vector> 4 #include <cstdio> 5 using namespace std; 6 inline int max(int a,int b) {return a>b? a:b;} 7 const int Ni = 105; 8 int n,m; 9 b 阅读全文
posted @ 2012-08-20 21:30 qijinbiao1 阅读(755) 评论(0) 推荐(0) 编辑
摘要: http://www.rqnoj.cn/Problem_6.html题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件电脑 打印机,扫描仪书柜 图书书桌 台灯,文具工作椅 无 如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有0个、1个或2个附件。附件不再有从属于自己的附件。金明想买的东西很多,肯定会.. 阅读全文
posted @ 2012-08-20 10:33 qijinbiao1 阅读(816) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1011题意:是有n个洞组成一棵树,你有m个士兵,你从1号房间开始攻打,每个洞有a个"bugs"和b的价值。你的一个士兵可以打20个"bugs",为了拿到这个洞的价值b你必须留下k个士兵消灭这个洞的所有"bugs"(k*20>="bugs"的数量,且留下的士兵不可以再去攻打其他的洞,且必须攻打了前面的洞才可以攻打后面的洞)。问你花费这m个士兵可以得到的最大价值是多少。dp方程:dp[p][j]=max(dp[p][j],dp[ 阅读全文
posted @ 2012-08-18 19:19 qijinbiao1 阅读(4615) 评论(1) 推荐(1) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1561 1 #include <iostream> 2 #include <vector> 3 #include <cstring> 4 #include <cstdio> 5 using namespace std; 6 const int Ni = 210; 7 int n,m; 8 int dp[Ni][Ni]; 9 bool vis[Ni];10 vector<int> dv[Ni];11 void dfs(int p)12 {13 int 阅读全文
posted @ 2012-08-18 16:09 qijinbiao1 阅读(711) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3449题意:有很多个箱子,想买箱子中的物品必须先买下箱子,典型的依赖背包dp[i][j]代表前i个箱子花费j的钱能获得的最大价值 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 using namespace std; 5 const int Ni = 55; 6 const int Mi = 100005; 7 int dp[Ni][Mi]; 8 int main() 9 {10 int n 阅读全文
posted @ 2012-08-17 20:53 qijinbiao1 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4374dp[i][j]=max(dp[i][j],dp[i][k]-sum[i][k]+sum[i][j]); k<=j&&j-k<=Tdp[i][j]=max(dp[i][j],dp[i][k]+sum[i][k]-sum[i][j]); k>=j&&k-j<=T 1 #include <iostream> 2 #include <cstdio> 3 #include <queue> 4 #include <c 阅读全文
posted @ 2012-08-16 20:07 qijinbiao1 阅读(519) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4360 1 #include <iostream> 2 #include <vector> 3 #include <queue> 4 #include <cstdio> 5 using namespace std; 6 const long long inf = 1ll<<57; 7 const int Ni = 1320*2; 8 struct node{ 9 int v,w,e;10 node(){}11 node(int a,int b,int 阅读全文
posted @ 2012-08-15 20:18 qijinbiao1 阅读(434) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4362dp[i][j]=min{dp[i-1][k]+abs(arr[i][j].x-arr[i-1][k].x)+arr[i][j].w}1、优先队列法: 1 #include <iostream> 2 #include <cstring> 3 #include <queue> 4 #include <algorithm> 5 #include <cstdio> 6 using namespace std; 7 const int Ni = 100 阅读全文
posted @ 2012-08-15 15:40 qijinbiao1 阅读(378) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n种工作,给你T的时间去做它们。给你m和s,说明这种工作有m件事可以做,它们是s类的工作(s=0,1,2,s=0说明这m件事中最少得做一件,s=1说明这m件事中最多只能做一件,s=2说明这m件事你可以做也可以不做)。再给你ci和gi代表你做这件事要用ci的时间,能获得gi的快乐值。求在T的时间内你能获得的最大快乐值。http://acm.hdu.edu.cn/showproblem.php?pid=3535 1 #include <iostream> 2 #include <cstdio> 3 #include <vector> 4 #includ 阅读全文
posted @ 2012-08-13 16:20 qijinbiao1 阅读(1105) 评论(0) 推荐(0) 编辑
摘要: 题意:用m天的时间来学n门课程,给出n和m和一个num[n][m]的矩阵,num[n][m] 代表的是花m天的时间学习第n门课程所获得的价值,求最多能获得多大的价值#include <iostream>#include <cstdio>#include <vector>#include <cstring>using namespace std;const int Ni = 120;int dp[Ni][Ni];int d[Ni][Ni];int main(){ int n,m,i,j,k; while(scanf("%d%d" 阅读全文
posted @ 2012-08-13 11:24 qijinbiao1 阅读(172) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 13 下一页