题目大意

太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。 
  皇宫以午门为起点,直到后宫嫔妃们的寝宫,呈一棵树的形状;某些宫殿间可以互相望见。大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫     殿安排看守所需的费用不同。 
  可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。帮助陆小凤布置侍卫,在看守全部宫殿的前提下,使得花费的经费最少。

分析

首先定义:

F[T,1] 表示在x点放置守卫的最小费用

F[T,2] 表示在x点不放置守卫,同时x点可以或没有儿子节点可以监视到

F[T,3] 表示在x点不放置守卫,同时x点一定要给儿子节点监视到

转移方程为F[x,1]=sigma{min(F[y,1],F[y,2],F[y,3])}+w[x]

F[x,2]=sigma{min(F[y,1],F[y,3])}

F[x,3]=sigma{min(F[z,1],F[z,3])+F[y,1]}  y<>z  y,z分别为x的子节点

具体见:http://blog.csdn.net/fisher_jiang/article/details/2488506

代码

vara:array[0..7000,0..7000] of longint;f:array[0..7000,0..2] of longint;w:array[0..7000] of longint;v:array[0..7000] of boolean;i,j,k,l:longint;n,m:longint;function min(x,y:longint):longint;
beginif x<ythen exit(x)else exit(y);
end;procedure dfs(r:longint);
vari,j,k:longint;c,t,ii:longint;
beginv[r]:=false;if a[r,0]=0thenbeginf[r,0]:=w[r];f[r,1]:=0;f[r,2]:=w[r];exit;end;for i:=1 to a[r,0] doif v[a[r,i]] then dfs(a[r,i]);t:=0;for i:=1 to a[r,0] dobeginc:=a[r,i];t:=t+min(f[c,0],f[c,2]);end;f[r,2]:=maxlongint;ii:=t;for i:=1 to a[r,0] dobeginc:=a[r,i];f[r,0]:=f[r,0]+min(min(f[c,0],f[c,1]),f[c,2]);f[r,1]:=f[r,1]+min(f[c,0],f[c,2]);t:=t-min(f[c,0],f[c,2])+f[c,0];f[r,2]:=min(f[r,2],t);t:=ii;end;f[r,0]:=f[r,0]+w[r];
end;beginreadln(n);fillchar(v,sizeof(v),1);for i:=1 to n dobeginread(j,w[j],a[j,0]);for k:=1 to a[j,0] dobeginread(l);a[j,k]:=l;v[l]:=false;end;readlnend;for i:=1 to n doif v[i] then break;fillchar(v,sizeof(v),1);dfs(i);write(min(f[i,0],f[i,2]));
end.

皇宫看守 树型动态规划相关推荐

  1. CJOJ 2171 火车站开饭店(树型动态规划)

    CJOJ 2171 火车站开饭店(树型动态规划) Description 政府邀请了你在火车站开饭店,但不允许同时在两个相连的火车站开.任意两个火车站有且只有一条路径,每个火车站最多有 50 个和它相 ...

  2. 【基于贪心的树型动态规划】【NOI2007】追捕盗贼

    问题描述 魔法国度 Magic Land 里最近出现了一个大盗 Frank,他在 Magic Land 四处作案,专门窃取政府机关的机密文件(因而有人怀疑 Frank 是敌国派来的间谍). 为了捉住 ...

  3. POJ 2152 fire / SCU 2977 fire(树型动态规划)

    POJ 2152 fire / SCU 2977 fire(树型动态规划) Description Country Z has N cities, which are numbered from 1 ...

  4. 【算法•日更•第九期】树型动态规划详解:二叉苹果树

    ▎前置技能:动态规划&树 树型动态规划一听就知道是在树结构上使用的动态规划,那么不会树结构和动态规划怎么行?戳这里了解动态规划和树. ▎什么是树型动态规划? ☞『定义』 树形动态规划问题可以分 ...

  5. 提高篇 第五部分 动态规划 第2章 树型动态规划

    例1 二叉苹果树 信息学奥赛一本通(C++版)在线评测系统 二叉苹果树_哔哩哔哩_bilibili 洛谷P2015 二叉苹果树 题目讲解 洛谷P2015 二叉苹果树 题目讲解_哔哩哔哩_bilibil ...

  6. 【LeetCode笔记】337. 打家劫舍III(Java、树型动态规划)

    文章目录 题目描述 思路 & 代码 更新版 题目描述 这年头当个小偷,都得会 dp 和二叉树了 和前面的 I & II 有点不同,这次直接换了数据结构,写树来了.(之后不会是图吧) 很 ...

  7. POJ 2152 树型DP //很棒的题

    题意:Z国有n个城市,从1到n给这些城市编号.城市之间连着高速公路,并且每两个城市之间有且只有一条通路.不同的高速公路可能有不同的长度.最近Z国经常发生火灾,所以当地政府决定在某些城市修建一些消防站. ...

  8. AcWing 1077. 皇宫看守(树形DP + 状态机DP)

    AcWing 1077. 皇宫看守(树形DP + 状态机DP) 一.问题 二.分析 1.思路分析 2.状态表示 3.状态转移 4.循环设计 5.初末状态 三.代码 一.问题 二.分析 1.思路分析 在 ...

  9. Acwing 1077.皇宫看守

    Acwing 1077.皇宫看守 题目 输入格式 输出格式 数据范围 输入样例 输出样例 样例解释 分析 详细代码 这是我第一篇博客,如有侵权或者不足的地方,我将予以修改,并改正 题目 太平王世子事件 ...

最新文章

  1. 如何将注册中心从 Consul 平滑的迁移到 Nacos ?
  2. Lesson 3.张量的广播和科学运算
  3. spark sql uv_内置函数_SparkSQL学习 - 编程那点事
  4. selenium三个等待时间
  5. php,javascript获取传递各参数的用法
  6. 运动会管理系统的需求调研会纪要
  7. cannon linux驱动下载
  8. word毕业论文导出高清pdf
  9. 是否优化更新主题浏览量:_主题306:能力规划
  10. 最短路径Floyd算法【图文详解】
  11. 为什么光标停在表格中间_在word光标处粘贴一表格,结果表格跑到别的位置,为啥?...
  12. 老将引退AMD换血成功
  13. 不想长期打工,可做这5个冷门生意,知道的人不多,利润却不错
  14. 深度学习(10):PointNet论文翻译与学习
  15. 计算机入门基础知识大全
  16. 【微服务】RestClient查询文档
  17. 查找问题方法之置之死地而后生
  18. 华为S2300开启WEB管理_七夕小子_新浪博客
  19. 【财经期刊FM-Radio|2020年09月25日】
  20. PySpark数据分析基础:PySpark基础功能及DataFrame操作基础语法详解

热门文章

  1. 【代码随想录 | day06】(JavaScript) 哈希表理论基础以及相关算法题
  2. php拜占庭容错算法机制,实用拜占庭容错算法(PBFT)
  3. MAC 系统下使用邮件客户端登录腾讯企业邮箱失败问题
  4. padStart应用
  5. UE4 UI和UI之间的通信(浅谈测试)
  6. 程序员必须知道的25个网站
  7. SAP 采购降本分析报表
  8. 基于Python的多人聊天室的设计与实现
  9. TensorFlow 制作自己的TFRecord数据集
  10. SM国密算法(三)-- SM2算法