Bzoj 1596: [Usaco2008 Jan]电话网络
原题网址:http://www.lydsy.com/JudgeOnline/problem.php?id=1596
有点像“没有上司的舞会”,但因为两座塔可以距离最多为3,所以要记三种状态。f[x]f[x]表示xx这个点已经放了,g[x]g[x]表示xx这个点没放但已经子树的通讯塔范围内了,h[x]h[x]表示xx这个点没放而且不在子树的通讯塔范围内。f[x]f[x]直接由每个子树三种状态取最小转移即可,g[x]g[x]由每个子树f[y]f[y]和g[y]g[y]取小的转移即可,但要注意至少要取一个f[y]f[y],h[x]h[x]直接由子树g[y]g[y]转移得。
typeedge=recordy,next:longint;end;
constINF=10001;
varmap:array[0..20050] of edge;f,g,h,first:array[0..10050] of longint;n,i,x,y,s:longint;
function min(a,b:longint):longint;begin if (a<b) then exit(a) else exit(b); end;
procedure ins(x,y:longint);begininc(s);map[s].y:=y;map[s].next:=first[x];first[x]:=s;end;
procedure dfs(x,fa:longint);vart,det,y:longint;put:boolean;beginf[x]:=1;g[x]:=0;h[x]:=0;t:=first[x];det:=INF;put:=false;while (t>0) dobeginy:=map[t].y;if (y<>fa) thenbegindfs(y,x);inc(f[x],min(min(f[y],g[y]),h[y]));if (f[y]<=g[y])thenbeginput:=true;inc(g[x],f[y]);endelsebegininc(g[x],g[y]);det:=min(det,f[y]-g[y]);end;inc(h[x],g[y]);end;t:=map[t].next;end;if (not put)then g[x]:=g[x]+det;end;
beginread(n);for i:=1 to n-1 dobeginread(x,y);ins(x,y);ins(y,x);end;dfs(1,0);writeln(min(f[1],g[1]));
end.
Bzoj 1596: [Usaco2008 Jan]电话网络相关推荐
- bzoj1596[Usaco2008 Jan]电话网络*
bzoj1596[Usaco2008 Jan]电话网络 题意: 在一棵树中选最少的点建塔,使得每个点都有塔或相邻点有塔.n≤10000. 题解: 贪心.dfs时对于每个当前点,在dfs完它的所有子节点 ...
- BZOJ 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛【Floyd】
1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 Time Limit: 5 Sec Memory Limit: 64 MB Description FJ的N(1 <= ...
- bzoj 1612: [Usaco2008 Jan]Cow Contest奶牛的比赛(floyd)
1612: [Usaco2008 Jan]Cow Contest奶牛的比赛 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1153 Solved: 7 ...
- bzoj 1594: [Usaco2008 Jan]猜数游戏【二分+线段树】
写错一个符号多调一小时系列-- 二分答案,然后判断这个二分区间是否合法: 先按值从大到小排序,然后对于值相同的一些区间,如果没有交集则不合法:否则把并集在线段树上打上标记,然后值小于这个值的区间们,如 ...
- bzoj 1596 电话网络
Description Farmer John决定为他的所有奶牛都配备手机,以此鼓励她们互相交流.不过,为此FJ必须在奶牛们居住的N(1 <= N <= 10,000)块草地中选一些建上 ...
- [BZOJ] 1614: [Usaco2007 Jan]Telephone Lines架设电话线
1614: [Usaco2007 Jan]Telephone Lines架设电话线 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1806 Solve ...
- bzoj 1618: [Usaco2008 Nov]Buying Hay 购买干草(完全背包)
1618: [Usaco2008 Nov]Buying Hay 购买干草 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1196 Solved: 62 ...
- bzoj 1614: [Usaco2007 Jan]Telephone Lines架设电话线(二分+SPFA)
1614: [Usaco2007 Jan]Telephone Lines架设电话线 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1761 Solve ...
- bzoj 1606 [Usaco2008 Dec]Hay For Sale 购买干草(01背包)
1606: [Usaco2008 Dec]Hay For Sale 购买干草 Time Limit: 5 Sec Memory Limit: 64 MB Submit: 1300 Solved: ...
最新文章
- PHP 实现一个可用的redis 事务锁, 解决并发问题
- Hadoop 2.2.0 集群搭建
- Codechef SEAARC Sereja and Arcs (分块、组合计数)
- solr部署在tomcat下
- npm更换成淘宝镜像源以及cnpm
- 无显示器u盘安装centos_最新版 CentOS 8.1.1911 安装教程及常见问题图文详解
- es6 Trait修饰器
- leetcode238-除自身以外数组的乘积
- docker配置 nacos_Docker下配置nacos
- 读书笔记:在改变的时代改变自己
- 地形地貌编辑软件world mechine介绍
- 【cocos creater】5.仿《弓箭传说》- 创建虚拟遥感
- 关于webpack5打包图片不报错但是也不显示问题
- 郭德纲最新相声:韩国学艺
- Sublime Emmet 插件安装教程 Tab 快捷键无法使用问题解决
- 使用伪类(before,after)给元素添加分割线(|)
- php齐博cms,齐博CMS splitword.php后门解密
- python自动交易大神_Python炒股大赛 - 自动交易策略研究(0)
- 发两个可以装逼的网址
- php 不要平铺的代码,css怎么设置图片不平铺