4003

思维啊 dp[i][j]表示当前I节点停留了j个机器人 那么它与父亲的关系就有了 那条边就走了j遍

dp[i][j] = min(dp[i][j],dp[child][g]+dp[i][j-g]+g*w[i][child] );

  1. #include <iostream>
  2. #include<cstdio>
  3. #include<cstring>
  4. #include<algorithm>
  5. #include<stdlib.h>
  6. #include<vector>
  7. #include<cmath>
  8. #include<queue>
  9. using namespace std;
  10. #define N 10010
  11. #define LL __int64
  12. struct node
  13. {
  14. int u,v,w,next;
  15. }ed[N<<];
  16. int head[N],t,k;
  17. int dp[N][];
  18. void init()
  19. {
  20. t = ;
  21. memset(head,-,sizeof(head));
  22. }
  23. void add(int u,int v,int w)
  24. {
  25. ed[t].u = u;
  26. ed[t].v = v;
  27. ed[t].w = w;
  28. ed[t].next = head[u];
  29. head[u] = t++;
  30. }
  31. void dfs(int pre,int u)
  32. {
  33. int i,j;
  34. for(i = head[u] ; i!=- ; i = ed[i].next)
  35. {
  36. int v = ed[i].v;
  37. if(v==pre) continue;
  38. dfs(u,v);
  39. for(j = k ; j >= ; j --)
  40. {
  41. dp[u][j]+=dp[v][]+*ed[i].w;
  42. for(int g = ; g <= j ; g++)
  43. {
  44. dp[u][j] = min(dp[u][j],dp[u][j-g]+dp[v][g]+g*ed[i].w);
  45. }
  46. }
  47. }
  48. }
  49. int main()
  50. {
  51. int i,n,s;
  52. while(scanf("%d%d%d",&n,&s,&k)!=EOF)
  53. {
  54. memset(dp,,sizeof(dp));
  55. init();
  56. for(i = ; i < n ; i++)
  57. {
  58. int u,v,w;
  59. scanf("%d%d%d",&u,&v,&w);
  60. add(u,v,w);
  61. add(v,u,w);
  62. }
  63. dfs(-,s);
  64. printf("%d\n",dp[s][k]);
  65. }
  66. return ;
  67. }

hdu4003Find Metal Mineral(树形DP)的更多相关文章

  1. HDU4003Find Metal Mineral[树形DP 分组背包]

    Find Metal Mineral Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Other ...

  2. hdu 4003 Find Metal Mineral 树形DP

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4003 Humans have discovered a kind of new metal miner ...

  3. HDU4003 Find Metal Mineral 树形DP

    Find Metal Mineral Problem Description Humans have discovered a kind of new metal mineral on Mars wh ...

  4. hdu 4003 Find Metal Mineral 树形dp ,*****

    Find Metal Mineral Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Other ...

  5. HDU-4003 Find Metal Mineral 树形DP (好题)

    题意:给出n个点的一棵树,有k个机器人,机器人从根节点rt出发,问访问完整棵树(每个点至少访问一次)的最小代价(即所有机器人路程总和),机器人可以在任何点停下. 解法:这道题还是比较明显的能看出来是树 ...

  6. 【树形dp】Find Metal Mineral

    [HDU4003]Find Metal Mineral Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (J ...

  7. HDU 4003 Find Metal Mineral(分组背包+树形DP)

    题目链接 很棒的一个树形DP.学的太渣了. #include <cstdio> #include <string> #include <cstring> #incl ...

  8. 树形DP-----HDU4003 Find Metal Mineral

    Find Metal Mineral Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Other ...

  9. 【转】【DP_树形DP专辑】【9月9最新更新】【from zeroclock's blog】

    树,一种十分优美的数据结构,因为它本身就具有的递归性,所以它和子树见能相互传递很多信息,还因为它作为被限制的图在上面可进行的操作更多,所以各种用于不同地方的树都出现了,二叉树.三叉树.静态搜索树.AV ...

随机推荐

  1. ios后台下载

    http://www.cocoachina.com/industry/20131106/7304.html

  2. awk 统计数据在文件中的出现次数

    突然发现awk原来可以统计同一数据在要处理的文件中所出现的次数.原来的时候为了分析数据还自己写程序,哎,无语,当时还以为自己多强,手工分析不过来的东西写程序处理.现在想来实在是年少轻狂.解决问题嘛,不 ...

  3. BZOJ 2038

    基础不牢:补莫队算法: 莫队算法入门题: 2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 26 ...

  4. HDU 1247 Hat’s Words(map,STL,字符处理,string运用)

    题目 用map写超便捷 也可以用字典树来写 我以前是用map的: #include<stdio.h> #include<string.h> #include<algori ...

  5. iOS富文本-NSAttributedString简单封装

    直接调用系统的写起来比较麻烦,封装一下 因为要简单所以就写类方法 WJAttributeStyle 基类 ) {         ; i < styles.count; i ++) {      ...

  6. ExtJs之Ext.form.field.ComboBox组合框

    <!DOCTYPE html> <html> <head> <title>ExtJs</title> <meta http-equiv ...

  7. http://my.oschina.net/u/719192/blog/506062?p={{page}}

    http://my.oschina.net/u/719192/blog/506062?p={{page}}

  8. MongoDB (五) MongoDB 数据库操作

    一.MongoDB创建数据库: use 命令 MongoDB use DATABASE_NAME 用于创建数据库.该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库. 语法: use D ...

  9. jqGrid中实现radiobutton的两种做法

    http://blog.sina.com.cn/s/blog_4f925fc30102e27j.html   jqGrid中实现radiobutton的两种做法 ------------------- ...

  10. Linux 与 CONE NAT 和 Symmetric NAT

    http://alexanderlaw.blog.hexun.com/31883661_d.html 1. NAT 的划分 RFC3489 中将 NAT 的实现分为四大类: 1. Full Cone ...