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: ...
最新文章
- java signature 性能_Java常见bean mapper的性能及原理分析
- php读取 rss pubdate,PHP产生RSS pubDate所需日期时间格式的方法
- 操作系统课程设计 内核模块
- PyTorch随笔-3
- JavaFX快速入门完整代码:点击按钮显示当前系统时间示例
- kindeditor用法简单介绍(转)
- MSSqlServer基础学习01
- 详解谷歌官方教程 Android插件ADT 9.0.0
- 转iOS逆向工程:Reveal查看任意app的高级技巧!
- 【数据库】解剖式学习无损分解
- u大师u盘装系统win7_黑鲨U盘重装win7系统教程
- 渥太华大学计算机科学,加拿大渥太华大学计算机科学CO-OP录取
- 轻量级过程改进之项目计划
- 鲁四海解读中国大数据发展10大趋势5大挑战
- IMEI IMSI和ICCID
- 石器时代地图->魔力宝贝地图
- uni.getLocation(Object)获取经纬度和当前中文地址
- “逻辑和”与 “逻辑或”运算符
- 面试必备之 悲观锁与乐观锁
- 跨城实践中,腾讯如何应用 Apache Pulsar