题目描述

伏地魔的黑暗势力控制了魔法部与霍格沃茨魔法学校之后,哈利与罗恩、赫敏不得不逃亡在外,隐形遁迹。为了完成校长邓布利多的遗命,一直在暗中寻机销毁伏地魔魂器的哈利,意外地获悉如果他们能够拥有传说中的三件死亡圣器,伏地魔将必死无疑。

在凤凰社成员的帮助下,哈利一行人重新掌控了霍格沃茨。然而此举激怒了伏地魔,他很快率领大批食死徒和黑暗生物向霍格沃茨进军。麦格教授紧急疏散了霍格沃茨的学生,并开始了守卫霍格沃茨的战斗。

霍格沃茨魔法学校的主要建筑共有 n处,我们编号为 1 到n,这些建筑间由魔法道路连接,整体呈树状分布,即任意两个建筑间有且仅有一条路径相连(路径可以是一条或多条道路组成)。霍格沃茨历经多年风雨,每个建筑自身有许多保护魔法,比如“石墩触动咒”、“降敌陷阱咒”、“统统加护咒”等,只需有人前往施用咒语即能保卫建筑。

现在,伏地魔大军已经到达 1 号建筑——学校大门,凤凰社成员也已经在大门迎战,并且已经启用了大门的保护魔法。然而伏地魔大军势力壮大,保护魔法只能延缓大军的进攻锋芒,他们仍能用一个小时攻克一个建筑,随后整个大军便随机前往与之相邻的另一个建筑(兵贵神速,大军移动过程不需要时间;兵法无常,他们有可能前往已经攻克的建筑)。

目前除了 1号建筑,其他建筑的保护魔法都尚未被启用,凤凰社决定派出一些成员去其他建筑施用咒语来启动保护魔法。每个凤凰社成员可以瞬间达到任意一个建筑,并用一个小时完成对该建筑保护魔法的启用,之后可以再前往其他的建筑。他们的任务是,保证不论伏地魔大军如何行动,大军所到建筑的保护魔法都已经启用。为了集中更多力量直接打击伏地魔大军,凤凰社希望派出施用咒语的成员数尽可能少。

请你计算,至少需要派出多少位成员。

注:

伏地魔大军到达 1 号建筑开始攻击的同时,凤凰社派出成员去其他建筑施咒。

当大军攻克某个建筑后,凤凰社成员可以在知道大军下一个小时去哪个建筑的情况下,再决定他们去哪些建筑施咒。这个过程也不需要时间。

已经启用过保护魔法的建筑无需再施咒,即便大军攻克该建筑以后某个时候又回到这个建筑,大军也会在这个建筑持续攻击一个小时后再离开。

输入格式

第一行一个整数 n,表示建筑的数量。

接下来 n-1行,每行两个整数 u,v,表示建筑 u 和建筑 v 之间有一条魔法道路。

输出格式

一行一个整数,表示最少需要派出施用咒语的成员数。

输入输出样例

输入 #1
7
1 2
1 3
2 5
2 6
7 2
4 1
输出 #1
3

说明/提示 数据范围

对于 100%的数据,1≤n≤3×105

CODE

#include<bits/stdc++.h>
using namespace std;
int lw[300005],bi[600005][2],bs;
int n;
int dr()
{int xx=0;char ch=getchar();while(ch<'0'||ch>'9')ch=getchar();while(ch>='0'&&ch<='9')xx=(xx<<1)+(xx<<3)+ch-'0',ch=getchar();return xx;
}
void tj(int u,int v){++bs,bi[bs][0]=lw[u],bi[bs][1]=v,lw[u]=bs;}
int dfs(int w,int fa,int k)
{int x=0;for(int o_o=lw[w];o_o;o_o=bi[o_o][0]){int v=bi[o_o][1];if(v!=fa)x+=dfs(v,w,k)+1;}return max(x-k,0);
}
int main()
{n=dr();for(int i=1;i<n;i++){int u=dr(),v=dr();tj(u,v),tj(v,u);}int l=0,r=n-1,mid;while(l+1<r){mid=(l+r)>>1;if(dfs(1,0,mid)==0)r=mid;else l=mid;}printf("%d",r);return 0;
}

天天赞天天看!我们明天再见,拜拜!

洛谷P4572 [JSOI2013] 哈利波特与死亡圣器相关推荐

  1. 《哈利·波特与死亡圣器(上)》BD中英双字无水印高清+1080P 720P蓝光地址

    ◎译 名 哈利·波特与死亡圣器(上)/哈利波特:死神的圣物1(港/台)/哈利·波特与死圣(上)/哈利·波特7 ◎片 名 Harry Potter and the Deathly Hallows Par ...

  2. 哈利·波特与死亡圣器(下)

    哈利进入与伏地魔意识连通的幻境,找到了一些魂器,但也让伏地魔发觉了他们的行动.哈利又一次进入幻境后推断出伏地魔的居所,三人来到了此地.他们看到伏地魔命令毒蛇除掉斯内普,以把长老魔杖的魔力传给自己.弥留 ...

  3. 洛谷三月月赛——P5238 整数校验器

    题目链接: P5238 整数校验器 题目描述 有些时候需要解决这样一类问题:判断一个数 xxx 是否合法. xxx 合法当且仅当其满足如下条件: xxx 格式合法,一个格式合法的整数要么是 000,要 ...

  4. Java哈利波特死亡圣器下_如果编程语言是《哈利波特》中的人物

    如果编程语言是<哈利波特>中的人物,本文是作者的一些观点,如果你有不同的看法,欢迎在留言中告诉我们. C语言 每个人都在说,C语言已经死了至少十年以上了.人们对它嗤之以鼻.当然它也曾不可一 ...

  5. 洛谷P2146DTOJ2409 [NOI2015]软件包管理器

    洛谷P2146&&DTOJ2409 [NOI2015]软件包管理器 题目 题目描述 输入格式 输出格式 样例 样例输入1 样例输出1 样例输入2 样例输出2 数据范围与提示 样例1说明 ...

  6. Java 洛谷 P1089 津津的储蓄计划讲解

    题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在 ...

  7. 闲来无事刷水题、简单博弈论专题、sg函数、洛谷

    记 今天闲来无事,不想刷codeforces了,到洛谷提高组训练营找几道水题刷着玩玩(虽然自己早已过了打OI的年纪)- 简单博弈论专题 P1199 三国游戏 这么考虑,由于电脑总是不能让我搭配出当前能 ...

  8. 10.10做题——USACO1.2/洛谷1207回文平方数(Dual Palindromes)

    first thing:我市杨家巷发生一起爆炸事故,死亡17人,愿逝者安息! second thing:明天NOIP初赛,RP++,排名–;分数++; third thing:好像USACO评测系统真 ...

  9. 洛谷月赛T2 P6858[深海少女与胖头鱼]题解

    目录 题面 前置知识 数学期望 快速幂 逆元 题解 分析 AC Code 题面 洛谷十月月赛II T2 深海少女与胖头鱼 总共有 nnn 条带 「圣盾」的「胖头鱼」和 mmm 条不带圣盾的胖头鱼,每次 ...

最新文章

  1. 特征选择过滤法之方差选择、双样本t检验、方差分析、相关系数法、卡方检验、互信息法
  2. Android中的ImageView的getDrawableCache获取背景图片的时候注意的问题
  3. arthas class/classloader相关命令之一:sc、sm
  4. ITK:用常量填充图像
  5. moel vue 自定义v_vue如何在自定义组件中使用v-model
  6. Hadoop精华问答 | NameNode是什么?
  7. 计算机网络日志查询,系统资源管理_百络网警内网管理软件_电脑配置统计,系统日志,日志查询...
  8. npm 缓存_npm缓存:无名英雄
  9. mysql 逻辑类型_MySQL逻辑架构(一)
  10. hsql导入mysql_在测试过程中使用HSQL数据库
  11. 矩阵乘法Java实现
  12. oracle自我评价简历,程序员简历自我评价
  13. Springboot项目中图片云存储实现思路
  14. Unity随机创造敌人
  15. 新西兰 计算机 转专业,新西兰可接受转专业院校
  16. mysql 查询去掉多余零
  17. CD刻录的一点个人经验:铭大、铼德、三菱、万盛, Nero、Burnatonce、Burrrn、Feurio
  18. 计算机组装与维修2版,计算机组装与维修2版.doc
  19. 文件上传upload.render小记
  20. Linux_第1章 Linux入门

热门文章

  1. tp服务器有什么作用,tp路由器虚拟服务器能干嘛
  2. NATS_08:NATS客户端Go语言手动编写
  3. Love for music
  4. 硬件设计3---什么是电容?
  5. ABAP 通过LDB_PROCESS函数使用逻辑数据库
  6. WIN10下没有NVIDIA控制面板的解决办法
  7. 算法学习总结(2)——温故十大经典排序算法
  8. 生产订单(prod order)状态直接从表(AUFK/JEST/TJ02T/TJ02)获取
  9. ftrack出免费软件了--cineSync Paly
  10. Vue中href属性动态拼接