皇宫看守 树型动态规划
题目大意
太平王世子事件后,陆小凤成了皇上特聘的御前一品侍卫。
皇宫以午门为起点,直到后宫嫔妃们的寝宫,呈一棵树的形状;某些宫殿间可以互相望见。大内保卫森严,三步一岗,五步一哨,每个宫殿都要有人全天候看守,在不同的宫 殿安排看守所需的费用不同。
可是陆小凤手上的经费不足,无论如何也没法在每个宫殿都安置留守侍卫。帮助陆小凤布置侍卫,在看守全部宫殿的前提下,使得花费的经费最少。
分析
首先定义:
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.
皇宫看守 树型动态规划相关推荐
- CJOJ 2171 火车站开饭店(树型动态规划)
CJOJ 2171 火车站开饭店(树型动态规划) Description 政府邀请了你在火车站开饭店,但不允许同时在两个相连的火车站开.任意两个火车站有且只有一条路径,每个火车站最多有 50 个和它相 ...
- 【基于贪心的树型动态规划】【NOI2007】追捕盗贼
问题描述 魔法国度 Magic Land 里最近出现了一个大盗 Frank,他在 Magic Land 四处作案,专门窃取政府机关的机密文件(因而有人怀疑 Frank 是敌国派来的间谍). 为了捉住 ...
- POJ 2152 fire / SCU 2977 fire(树型动态规划)
POJ 2152 fire / SCU 2977 fire(树型动态规划) Description Country Z has N cities, which are numbered from 1 ...
- 【算法•日更•第九期】树型动态规划详解:二叉苹果树
▎前置技能:动态规划&树 树型动态规划一听就知道是在树结构上使用的动态规划,那么不会树结构和动态规划怎么行?戳这里了解动态规划和树. ▎什么是树型动态规划? ☞『定义』 树形动态规划问题可以分 ...
- 提高篇 第五部分 动态规划 第2章 树型动态规划
例1 二叉苹果树 信息学奥赛一本通(C++版)在线评测系统 二叉苹果树_哔哩哔哩_bilibili 洛谷P2015 二叉苹果树 题目讲解 洛谷P2015 二叉苹果树 题目讲解_哔哩哔哩_bilibil ...
- 【LeetCode笔记】337. 打家劫舍III(Java、树型动态规划)
文章目录 题目描述 思路 & 代码 更新版 题目描述 这年头当个小偷,都得会 dp 和二叉树了 和前面的 I & II 有点不同,这次直接换了数据结构,写树来了.(之后不会是图吧) 很 ...
- POJ 2152 树型DP //很棒的题
题意:Z国有n个城市,从1到n给这些城市编号.城市之间连着高速公路,并且每两个城市之间有且只有一条通路.不同的高速公路可能有不同的长度.最近Z国经常发生火灾,所以当地政府决定在某些城市修建一些消防站. ...
- AcWing 1077. 皇宫看守(树形DP + 状态机DP)
AcWing 1077. 皇宫看守(树形DP + 状态机DP) 一.问题 二.分析 1.思路分析 2.状态表示 3.状态转移 4.循环设计 5.初末状态 三.代码 一.问题 二.分析 1.思路分析 在 ...
- Acwing 1077.皇宫看守
Acwing 1077.皇宫看守 题目 输入格式 输出格式 数据范围 输入样例 输出样例 样例解释 分析 详细代码 这是我第一篇博客,如有侵权或者不足的地方,我将予以修改,并改正 题目 太平王世子事件 ...
最新文章
- 如何将注册中心从 Consul 平滑的迁移到 Nacos ?
- Lesson 3.张量的广播和科学运算
- spark sql uv_内置函数_SparkSQL学习 - 编程那点事
- selenium三个等待时间
- php,javascript获取传递各参数的用法
- 运动会管理系统的需求调研会纪要
- cannon linux驱动下载
- word毕业论文导出高清pdf
- 是否优化更新主题浏览量:_主题306:能力规划
- 最短路径Floyd算法【图文详解】
- 为什么光标停在表格中间_在word光标处粘贴一表格,结果表格跑到别的位置,为啥?...
- 老将引退AMD换血成功
- 不想长期打工,可做这5个冷门生意,知道的人不多,利润却不错
- 深度学习(10):PointNet论文翻译与学习
- 计算机入门基础知识大全
- 【微服务】RestClient查询文档
- 查找问题方法之置之死地而后生
- 华为S2300开启WEB管理_七夕小子_新浪博客
- 【财经期刊FM-Radio|2020年09月25日】
- PySpark数据分析基础:PySpark基础功能及DataFrame操作基础语法详解