题意:

Nebula 历 2014 年 12 月 17 日,欢迎来到异世界。
面对截然不同的新世界,你决定采取最普通但最为有效的方式来探索,那便
是徒步。准备好营地的一切,你开始了探索的旅程。
步行大约 10 分钟的路程,穿过森林,你来到了一个悬崖,极目远眺,你看
见了梦幻般的光景。 一棵高大的无法用言语描述的数耸立于悬崖的对岸, 其冠直
冲云天, 其根深入地下。 而这棵大树,最引人瞩目的就是结于其枝上的两颗灰色
的果实。
忽然,古老而悠远的声音传入你的脑海之中: “掌握未来之人必先经过命运
的磨练。拥有‘未来视’受命运牵引前来的人类啊,在这个万华镜的世界,一共
有三个关卡,逐一通过考验之后, 前进之道路将会展现于你的面前。第一个考验
规则写于旁边的牌子,详情请参阅。”
你将目光转向一旁的木牌。上书道:
此树为灰色果实之树,不定时会长出灰色果实。贸然接近果实只会使得自己受其迷惑最后神经错乱而
浑浑噩噩不得终日,与死人无异。你的目标是成功到达树的顶端,砍下灰色果实的灵脉。
为了能够免除灰色果实的影响, 你需要在灰色果实力量微弱时在树的各个点
设置若干个保护点, 保护点内燃烧着镇定人心的香,以此来抵御灰色果实的精神
袭击。一个点必须在 lim[i]距离以内有保护点才能收到保护。而且,由于在树上
作业,地形十分崎岖,使得不同点设置保护点的作业时间 time[i]不同。
谋求最大的效率,请求出保护点笼罩整棵树所需的最短作业时间
 
思路:2006国家集训队陈启峰论文题
dp[u,i]为以u为根的子树全部被i保护的总代价
f[u]为以u为根的子树全部被保护的最小总代价
 var dp,dis:array[..,..]of longint;
q:array[..]of longint;
head,vet,next,len,f,flag,time,lim:array[..]of longint;
inq:array[..]of boolean;
n,i,tot,x,y,z:longint; function min(x,y:longint):longint;
begin
if x<y then exit(x);
exit(y);
end; procedure add(a,b,c:longint);
begin
inc(tot);
next[tot]:=head[a];
vet[tot]:=b;
len[tot]:=c;
head[a]:=tot;
end; procedure spfa(st:longint);
var t,w,u,e,v:longint;
begin
fillchar(inq,sizeof(inq),false);
t:=; w:=; q[]:=st; dis[st,st]:=; inq[st]:=true;
while t<=w do
begin
u:=q[t]; inc(t); inq[u]:=false;
e:=head[u];
while e<> do
begin
v:=vet[e];
if dis[st,u]+len[e]<dis[st,v] then
begin
dis[st,v]:=dis[st,u]+len[e];
if not inq[v] then
begin
inc(w); q[w]:=v; inq[v]:=true;
end;
end;
e:=next[e];
end;
end;
end; procedure dfs(u,fa:longint);
var e,v,i:longint;
begin
e:=head[u];
while e<> do
begin
v:=vet[e];
if v<>fa then dfs(v,u);
e:=next[e];
end;
for i:= to n do
if dis[u,i]<=lim[u] then
begin
dp[u,i]:=;
e:=head[u];
while e<> do
begin
v:=vet[e];
if v<>fa then dp[u,i]:=dp[u,i]+min(dp[v,i]-time[i],f[v]);
e:=next[e];
end;
dp[u,i]:=dp[u,i]+time[i];
f[u]:=min(f[u],dp[u,i]);
end;
end; begin readln(n);
for i:= to n do read(time[i]);
for i:= to n do read(lim[i]);
for i:= to n- do
begin
readln(x,y,z);
add(x,y,z);
add(y,x,z);
end;
fillchar(dp,sizeof(dp),$3f);
fillchar(f,sizeof(f),$3f);
fillchar(dis,sizeof(dis),$3f);
for i:= to n do spfa(i);
dfs(,);
writeln(f[]); end.
 

【NOIP模拟&POJ2152】灰色的果实(树形DP)的更多相关文章

  1. 【noip模拟赛7】上网 线性dp

    描述 假设有n个人要上网,却只有1台电脑可以上网.上网的时间是从1 szw 至 T szw ,szw是sxc,zsx,wl自创的时间单位,至于 szw怎么换算成s,min或h,没有人清楚.依次给出每个 ...

  2. 【noip模拟赛5】任务分配 降维dp

    描述 现有n个任务,要交给A和B完成.每个任务给A或给B完成,所需的时间分别为ai和bi.问他们完成所有的任务至少要多少时间. 输入 第一行一个正整数n,表示有n个任务.接下来有n行,每行两个正整数a ...

  3. 2018.10.05 NOIP模拟 上升序列(状压dp)

    传送门 状压dp好题. 首先需要回忆O(nlogn)O(nlog n)O(nlogn)求lislislis的方法,我们会维护一个单调递增的ddd数组. 可以设计状态f(s1,s2)f(s1,s2)f( ...

  4. 2018.10.01 NOIP模拟 偷书(状压dp)

    传送门 状压dp经典题. 令f[i][j]f[i][j]f[i][j]表示到第i个,第i−k+1i-k+1i−k+1~iii个物品的状态是j时的最大总和. 然后简单维护一下转移就行了. 由于想皮一下果 ...

  5. 【noip模拟题】迎接仪式(dp+特殊的技巧)

    好神的一题... 这是一道DP题,本题的难点在于状态的确定,由于调整是任意的,很难划分状态,我们略微修改一下调整的形式:把一次’j’和’z’交换看做两次变换:’j’->’z’;’z’->’ ...

  6. (计数器)NOIP模拟赛(神奇的数位DP题。。)

    没有原题传送门.. 手打原题QAQ [问题描述]     一本书的页数为N,页码从1开始编起,请你求出全部页码中,用了多少个0,1,2,…,9.其中—个页码不含多余的0,如N=1234时第5页不是00 ...

  7. codehunter 「Adera 6」杯省选模拟赛 网络升级 【树形dp】

    直接抄ppt好了--来自lyd 注意只用对根判断是否哟留下儿子 #include<iostream> #include<cstdio> using namespace std; ...

  8. 2018.11.01 NOIP训练 树的排列(树形dp)

    传送门 跟这道题差不多. 只不过是让权值小的儿子做权值大的儿子的父亲而已. 代码

  9. 2018.10.31 NOIP模拟 几串字符(数位dp+组合数学)

    传送门 如果观察到性质其实也不是很难想. 然而考试的时候慌得一批只有心思写暴力233. 下面是几个很有用的性质: c0,1+1≥c1,0≥c0,1c_{0,1 }+1 ≥ c_{1,0} ≥ c_{0 ...

随机推荐

  1. Spring Boot学到的内容

    Hello World:了解程序入口(创建启动类) Web程序:写Controller类(@RestController),写Controller方法(@GetMapping),maven依赖spri ...

  2. springmvc、springboot静态资源访问配置

    如何访问项目中的静态资源? 一.springmvc springmvc中访问静态资源,如果DispatcherServlet拦截的为"",那么静态资源的访问也会交给Dispatch ...

  3. CF781A Andryusha and Colored Balloons

    题意: Andryusha goes through a park each day. The squares and paths between them look boring to Andryu ...

  4. arttemplate模板引擎有假数据返回数据多层内嵌的渲染方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 架包Error inflating class错误

    当引用架包后,出现Error inflating class错误时通常要检测架包是否正确引用: 1.首先将你所需要的架包拷贝到工程目录下: 2.右击工程,选择Build Path-->confi ...

  6. xcopy递归拷贝

    递归拷贝 ::xcopy SOURCE_DIR DES_DIR\ /s SOURCE_DIR后面不需要加反斜杠

  7. 用JS获取Html中所有图片文件流然后替换原有链接

    function displayHtmlWithImageStream(bodyHtml) { var imgReg = /<img.*?(?:>|\/>)/gi; var arr ...

  8. COGS 2111. [NOIP2015普及]扫雷游戏

    ★   输入文件:2015mine.in   输出文件:2015mine.out   简单对比时间限制:1 s   内存限制:256 MB [题目描述] 扫雷游戏是一款十分经典的单机小游戏.在 n 行 ...

  9. how to use Hexo

    Hexo is a good tool to build a personal blog.Here are some good reference:1: https://hexo.io/zh-cn/d ...

  10. Wikidata和SparQL简介

    知识库 数据库(Database)和SQL,相信我们大部分人都非常非常熟悉.但是“知识库”可能知道的人就要相对少一些. 知识库是一个相对比较新的概念,它其实是一堆“三元组”(类似于主-谓-宾)的组合, ...