思路:这个没思路,看了陈启峰的论文写得。

#include<map>
#include<set>
#include<cmath>
#include<queue>
#include<cstdio>
#include<vector>
#include<string>
#include<iomanip>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pb push_back
#define mp make_pair
#define Maxn 1010
#define Maxm 80002
#define LL __int64
#define Abs(x) ((x)>0?(x):(-(x)))
#define lson(x) (x<<1)
#define rson(x) (x<<1|1)
#define clr(x,y) memset(x,y,sizeof(x))
#define inf 0x3f3f3f3f
#define lowbit(x) (x&(-x))
#define mod 1000000000
using namespace std;
int dp[Maxn][Maxn],best[Maxn],w[Maxn],d[Maxn],n,dis[Maxn],head[Maxn],vi[Maxn],e;
struct Edge{
int u,v,next,val;
}edge[Maxn*];
void init()
{
clr(vi,);
clr(head,-);
e=;
}
void add(int u,int v,int val)
{
edge[e].u=u,edge[e].v=v,edge[e].val=val,edge[e].next=head[u],head[u]=e++;
edge[e].u=v,edge[e].v=u,edge[e].val=val,edge[e].next=head[v],head[v]=e++;
}
void getdis(int u,int f)
{
int i,v,sz;
vi[u]=;
for(i=head[u];i!=-;i=edge[i].next){
v=edge[i].v;
if(v==f) continue;
dis[v]=dis[u]+edge[i].val;
getdis(v,u);
}
}
void dfs(int u,int f)
{
int i,v,j;
for(i=head[u];i!=-;i=edge[i].next){
v=edge[i].v;
if(v==f) continue;
dfs(v,u);
}
memset(dis,,sizeof(dis));
getdis(u,u);
best[u]=inf;
for(i=;i<=n;i++){
if(dis[i]>d[u]){dp[u][i]=inf;continue;}
dp[u][i]=w[i];
for(j=head[u];j!=-;j=edge[j].next){
v=edge[j].v;
if(v==f) continue;
dp[u][i]+=min(best[v],dp[v][i]-w[i]);
}
if(dp[u][i]<best[u])
best[u]=dp[u][i];
}
}
int main()
{
int t,i,j,u,v,val;
scanf("%d",&t);
while(t--){
init();
scanf("%d",&n);
for(i=;i<=n;i++)
scanf("%d",w+i);
for(i=;i<=n;i++)
scanf("%d",d+i);
for(i=;i<n;i++){
scanf("%d%d%d",&u,&v,&val);
add(u,v,val);
}
dfs(,);
printf("%d\n",best[]);
}
return ;
}

poj 2152 树形DP的更多相关文章

  1. Fire (poj 2152 树形dp)

    Fire (poj 2152 树形dp) 给定一棵n个结点的树(1<n<=1000).现在要选择某些点,使得整棵树都被覆盖到.当选择第i个点的时候,可以覆盖和它距离在d[i]之内的结点,同 ...

  2. poj 1463(树形dp)

    题目链接:http://poj.org/problem?id=1463 思路:简单树形dp,如果不选父亲节点,则他的所有的儿子节点都必须选,如果选择了父亲节点,则儿子节点可选,可不选,取较小者. #i ...

  3. poj 2486( 树形dp)

    题目链接:http://poj.org/problem?id=2486 思路:经典的树形dp,想了好久的状态转移.dp[i][j][0]表示从i出发走了j步最后没有回到i,dp[i][j][1]表示从 ...

  4. poj 3140(树形dp)

    题目链接:http://poj.org/problem?id=3140 思路:简单树形dp题,dp[u]表示以u为根的子树的人数和. #include<iostream> #include ...

  5. Strategic game(POJ 1463 树形DP)

    Strategic game Time Limit: 2000MS   Memory Limit: 10000K Total Submissions: 7490   Accepted: 3483 De ...

  6. POJ 2342 树形DP入门题

    有一个大学的庆典晚会,想邀请一些在大学任职的人来參加,每一个人有自己的搞笑值,可是如今遇到一个问题就是假设两个人之间有直接的上下级关系,那么他们中仅仅能有一个来參加,求请来一部分人之后,搞笑值的最大是 ...

  7. poj 3345 树形DP 附属关系+输入输出(好题)

    题目连接:http://acm.hust.edu.cn/vjudge/problem/17665 参考资料:http://blog.csdn.net/woshi250hua/article/detai ...

  8. POJ 1155 树形DP

    题意:电视台发送信号给很多用户,每个用户有愿意出的钱,电视台经过的路线都有一定费用,求电视台不损失的情况下最多给多少用户发送信号. 转自:http://www.cnblogs.com/andre050 ...

  9. POJ 3342 树形DP+Hash

    这是很久很久以前做的一道题,可惜当时WA了一页以后放弃了. 今天我又重新捡了起来.(哈哈1A了) 题意: 没有上司的舞会+判重 思路: hash一下+树形DP 题目中给的人名hash到数字,再进行运算 ...

随机推荐

  1. 完整Deploy WebPlayer的Config

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xht ...

  2. Label & TextBlock

    I always thought it was odd that WPF has both TextBlock and Label.  They both are responsible for di ...

  3. TCP/IP TIME_WAIT状态原理

    原文转载:http://elf8848.iteye.com/blog/1739571 IME_WAIT状态原理 ---------------------------- 通信双方建立TCP连接后,主动 ...

  4. [ACM] hdu 1181 变形课

    变形课 Problem Description 呃......变形课上Harry碰到了一点小麻烦,由于他并不像Hermione那样可以记住全部的咒语而任意的将一个棒球变成刺猬什么的,可是他发现了变形咒 ...

  5. SMARTFORM报表程序设计(2)

    在创建并设置好STYLE程序之后,在SMARTFORM页面选择单选框FORM输入报表程序名称(ZS_SFLIGHT),点击CREATE按钮即可进入SMARTFORM BUILDER图形设置界面,SMA ...

  6. hdu 5258 数长方形 离散化

    数长方形 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5258 Des ...

  7. C# 6与VB 12即将加入模式匹配

    又有一种源自于函数式编程语言中的概念加入了C#和VB的阵营,这就是被称为模式匹配(Pattern Matching)的特性.初看上去,模式匹配的作用类似于一段switch/select语句块,但它的功 ...

  8. Microsoft.AlphaImageLoader滤镜解说

    Microsoft.AlphaImageLoader是IE滤镜的一种,其主要作用就是对图片进行透明处理.尽管FireFox和IE7以上的IE浏览器已经支持透明的PNG图片,可是就IE5-IE6而言还是 ...

  9. 【原创】AltiumDesigner 6 的自定义菜单

    AltiumDesigner 6 的自定义菜单,数据保存在DXP.RCS文件中通过测试,添加一个自定义菜单名为HHH,然后用Editplus在C:\Users\pcittsy\AppData\Roam ...

  10. iOS NSData

    NSData全部API学习. 学习NSData,在网上找资料竟然都是拷贝的纯代码,没人去解释.在这种网上没资料的情况下,整理这个API文件好难,好艰辛.在这贡献给大家了,么么哒~示例程序用红色标注. ...