hdu3586 Information Disturbing 树形DP

Openai gym environment for multi-agent games 用于多智能体游戏的 OpenAI Gym 环境 阅读详情

Information Disturbing

Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)
Total Submission(s): 2060    Accepted Submission(s): 751


Problem Description
In the battlefield , an effective way to defeat enemies is to break their communication system.
The information department told you that there are n enemy soldiers and their network which have n-1 communication routes can cover all of their soldiers. Information can exchange between any two soldiers by the communication routes. The number 1 soldier is the total commander and other soldiers who have only one neighbour is the frontline soldier.
Your boss zzn ordered you to cut off some routes to make any frontline soldiers in the network cannot reflect the information they collect from the battlefield to the total commander( number 1 soldier).
There is a kind of device who can choose some routes to cut off . But the cost (w) of any route you choose to cut off can’t be more than the device’s upper limit power. And the sum of the cost can’t be more than the device’s life m.
Now please minimize the upper limit power of your device to finish your task.
 

Input
The input consists of several test cases.
The first line of each test case contains 2 integers: n(n<=1000)m(m<=1000000).
Each of the following N-1 lines is of the form:
ai bi wi
It means there’s one route from ai to bi(undirected) and it takes wi cost to cut off the route with the device.
(1<=ai,bi<=n,1<=wi<=1000)
The input ends with n=m=0.
 

Output
Each case should output one integer, the minimal possible upper limit power of your device to finish your task.
If there is no way to finish the task, output -1.
 

Sample Input
5 5 1 3 2 1 4 3 3 5 5 4 2 6 0 0
 

Sample Output
3

  要切断根结点和所有叶子结点的联系,切断的边的权值不能大于一个上限,切断边的权值和不能大于M。求这个上限最小是多少。

  二分上限limit,dp[u]代表切断u和它这棵树所有叶子联系最小要切断的权值和,dp2[u]代表切断u和它这棵树所有叶子联系在权值和最小的情况下最大的一条边权值,dp和dp2都是在满足所有切断边权都不大于limit的情况下,初始化为INF,如果求完仍为INF说明不可能在这个limit下把所有叶子隔断。如果dp[1]<=M就说明是满足的,把这个做为二分的条件。

#include<iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<vector>
#include<cmath>
#include<queue>
#include<stack>
#include<map>
#include<set>
#include<algorithm>
using namespace std;
typedef long long LL;

const LL MAXN=1010;
const LL MAXM=15;
const LL INF=0x3f3f3f3f;

int N,M;
int dp[MAXN],dp2[MAXN];
vector<pair<int,int> > g[MAXN];

void dfs(int u,int fa,int limit){
    int len=g[u].size();
    if(len<=1&&g[u][0].first==fa) return;
    int flag=0,sum=0,m=0;
    for(int i=0;i<len;i++){
        int v=g[u][i].first;
        if(v!=fa){
            dfs(v,u,limit);
            int tmp=min(g[u][i].second,dp2[v]);
            if(tmp>limit) flag=1;
            else{
                sum+=tmp;
                m=max(m,tmp);
            }
        }
    }
    if(!flag){
        dp[u]=sum;
        dp2[u]=m;
    }
}

int main(){
    freopen("in.txt", "r", stdin);
    while(scanf("%d%d",&N,&M)!=EOF&&(N||M)){
        for(int i=1;i<=N;i++) g[i].clear();
        int u,v,w;
        for(int i=0;i<N-1;i++){
            scanf("%d%d%d",&u,&v,&w);
            g[u].push_back(make_pair(v,w));
            g[v].push_back(make_pair(u,w));
        }
        if(N<=1){
            printf("0\n");
            continue;
        }
        int l=0,r=1001;
        while(l<r){
            int mid=l+(r-l)/2;
            memset(dp,INF,sizeof(dp));
            memset(dp2,INF,sizeof(dp2));
            dfs(1,-1,mid);
            if(dp[1]>M) l=mid+1;
            else r=mid;
        }
        if(r!=1001) printf("%d\n",l);
        else printf("-1\n");
    }
    return 0;
}



SecOC专题之新鲜值TripCnt 本系列为一步步拆解新鲜值的分发及管理而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出Trip Counter是新鲜值中变化最慢的一个part,并且自增到最大值时,会从头开始翻转计数。Trip Counter需要收发双方都保存,由于其变化较慢,所以不会经常进行同步该值。这就要求开发过程中保证每次对该值的读写必须要正确。 阅读详情

相关推荐

保姆级教程:Halcon 3D点云匹配与差异分析避坑指南(从采样到可视化)

本文提供了一份详细的Halcon 3D点云匹配与差异分析实战指南,涵盖从模型准备到可视化的全流程。重点解析了STL文件读取单位误区、点云采样密度优化、表面模型创建技巧以及差异分析的专业手法,帮助用户避开常见陷阱,提升工业检测效率与精度。

weixin_33728268的博客 402

【树形DP】HDU 3586 Information Disturbing

通道:http://acm.hdu.edu.cn/showproblem.php?pid=3586 题意:给定n个敌方据点,1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏这条边的费用,叶子节点为前线。现要切断前线和司令部的联系,每次切断边的费用不能超过上限limit,问切断所有前线与司令部联系所花费的总费用少于m时的最小limit 思路:对于上限进行二...

117

泛微ecology9 利用字段值动态控制明细表显示与隐藏

本文详细介绍了在泛微ecology9中,如何利用WfForm.bindFieldChangeEvent监听字段变化,结合jQuery动态控制明细表显示与隐藏的实战方法。通过五步操作,可实现根据字段值(如报销类型)智能切换明细表,提升表单交互体验与开发效率,并确保PC与移动端完美兼容。

7z8x2c4v6b9的博客 585

HDU - 3586 Information Disturbing 树形dp二分答案

HDU - 3586Information Disturbing   题目大意:从敌人司令部(1号节点)到前线(叶子节点)的通信路径是一个树形结构,切断每条边的联系都需要花费w权值,现在需要你切断前线和司令部的连接,(就是所有叶子节点都到不了根节点),并且总花费不能超过m。问能够实行的方案中,最大花费的最小值,否则输出-1.   树形dp的题还是很好意识到用树形dp的,但最好是画一画图进行...

weixin_30588675的博客 138

2026年5月典型AI应用落地

2026年5月AI应用全面进入商用化阶段,呈现三大特征:产业端深度渗透核心业务场景,如法律领域AI合同处理系统完成8500万元项目;消费端实现规模普及,京东618全场景AI化,智能家居产品涌现;基础设施层面运营商推出词元套餐降低使用门槛。政策法规与国际合作同步推进,日本通过首部AI专项法律,中国举办多场产业对接会。AI应用从技术验证转向实效产出,进入精算回报的成熟期。

AI_Encyc的博客 2630

echarts的坐标轴处理算法

参考原文:https://www.cnblogs.com/vicky-li/p/11653415.html。2、可用于双轴的情况,指定splitNumber,保证左右两边的线没有交叉显示的情况。1、设置echarts显示的最大最小值,让数据显示比较有起伏。处理echarts的一些问题。

HYeeee的博客 801

【树形DP+二分】HDU3586 Information Disturbing

呼~二分大法好

AFO 452

linux下wayland协议修改键盘映射

linux下wayland协议,修改键盘映射,实验环境是Ubuntu24,其他wayland协议窗口应该也是可以的。

qq_15027967的博客 1068

【题解】hdu 3586 Information Disturbing 二分 树形dp

题目描述 Information DisturbingTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 4003 Accepted Submission(s): 1391 Problem DescriptionIn ...

C@bMv7GRVt)Q 224

【FDTD】仿真目录(共计 16 篇)

对于完美吸收型边界条件,有时候我们需要设置将仿真结构穿过边界条件区域,具体原因可以阅读下文。在进行 S 参数扫描时,当考虑到材料的色散特性时,我们可以如下文一样选择计算群延迟。仿真,我们需要构建仿真结构与仿真区域,对于它们的尺寸,应该遵循下文进行设定。中存在多种不同的网格类型,具体可以参考下文,这部分内容仅作了解即可。尺寸的设置问题,对于 mesh 的最小尺寸,可以参考下文。的边界条件设置也十分重要,下文中我们对边界条件进行总结。仿真中我们可以设定参与仿真的模式数量,可以参考下文。尺寸的实例,详见下文。

u011699626的博客 502

一文读懂 SAP BTP Application Router 的 Resource Files:从 xs-app.json 到本地开发的默认设置

本文详解SAP BTP中Application Router的资源文件配置与本地开发实践。核心包括:xs-app.json定义路由规则与安全策略,package.json声明依赖与启动脚本,resources/存放静态资源,default-services.json和local-destinations.json用于本地模拟云服务。文章通过真实案例展示如何配置静态资源直出、反向代理后端服务,并强调本地开发时的注意事项与常见问题解决路径。关键配置均提供示例代码,帮助开发者快速实现业务应用的部署与联调。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 177

【树形DP】 hdu3586 Information Disturbing

Information Disturbing 题目:http://acm.hdu.edu.cn/showproblem.php?pid=3586 题意:给定n个敌方据点,1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏这条边的费用,叶子节点为前线。现要切断前线和司令部的联系,每次切断边的费用不能超过上限limit,问切断所有前线与司令部联系所花费的总费用少于m时的

Ted's 游乐园 1263

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

HDU 3586 Information Disturbing 树形DP+二分

题目描述:Description In the battlefield , an effective way to defeat enemies is to break their communication system. The information department told you that there are n enemy soldiers and their network

喵头鹰的博客 367

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

HDU 3586 Information Disturbing (树形DP)

Information Disturbing Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 1018    Accepted Submission(s): 376 Problem Description In the battle...

weixin_34342207的博客 114

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

HDU 3586 Information Disturbing 二分+树形DP

题意:有一个信息传输网,根结点是司令,叶子节点是前线的士兵,中间的节点是各级军官,每个士兵或军官,有且只有一名直接上司,这样就形成了一个树形结构。士兵或军官只向自己的直接上司报告情报,他们通过电话线进行通话。现在,敌人想切断一些电话线,让司令得不到任何前线士兵发来的情报。切断每根电话线有不同花费w i  w_i,当工具的能力大于等于w i  w_i时,才能切断这个电话线。工具也有使用寿命,切断的所有

leodestiny 594

HDU3586Information Disturbing 二分+树形dp

题意: Problem Description In the battlefield , an effective way to defeat enemies is to break their communication system. The information department told you that there are n enemy soldiers and their ne...

Ivan_zcy的博客 183

HDU3586 Information Disturbing 解题报告【树形DP】

HDU 3586

中国计算机学会成都七中(高新校区)委员会委员活动室 289

hdu 3586 Information Disturbing(树形dp + 二分)

题意 给一棵n个节点的树,节点编号为1~n,根节点为1。每条边有权值,砍掉一条边要花费cost(w) 要砍掉一些边, 使得每个叶子节点无法走到根节点。 要求砍掉花费总和不能超过m的情况下,让每条边花费上限尽量低

D_Double's Journey 2384

hdu3586 Information Disturbing[二分答案+树形DP]

给定 n 个节点的树,边有权值。1 号点是根,除了 1 号点外的度数为 1 的节点是叶子。要求切断所有叶子和 1 号点之间的联系,切断一条边要花费这条边上权值对应的代价,要求总的代价不超过 m。在满足这个前提下要求切断的边权的最大值最小,求出这个最小值。$n ≤ 10^5$ 首先这个最大值肯定二分答案,然后树形DP限制割掉的边不能超过这个二分的边权,设$f[i]$表示在这个限制下该...

dianer2977的博客 209

hdu3586 Information Disturbing(树形dp)

hdu3586题目就是给你一棵树,1节点是指挥部,叶子节点是前线士兵,每条边除去有代价,但代价的总和要小于上限m,现要让指挥部和叶子节点失去联系,要使删去的边中最大的最小,问这个最小值是多少。思路首先要想到这是一个二分判定性问题,二分上限值,用树形dp进行可行性判断dp[i]表示选i节点花费的最小代价的总和,dp[i]要么加上和子节点相连的那条边,或者是子节点的dp,注意子节点要赋成inf,且wa的

天道酬勤 521

hdu3586 Information Disturbing 【树形dp】

题目链接 hdu3586 题解 二分 + 简单的树形dp 我正有练一下dp的必要了 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> #include<algorithm> #define LL long long int #define Redge...

weixin_30858241的博客 87

HDU 3586 Information Disturbing(树形DP + 二分)

Problem Description In the battlefield , an effective way to defeat enemies is to break their communication system. The information department told you that there are n enemy soldiers and their ne

Must so 664

hdu 3586 Information Disturbing(树形dp)

题目大概说一棵树有边权,要删掉一些边,使叶子到达不了树根1且删掉边的权和小于等于m,问删掉边中最大权的最小值能是多少。 考虑问题规模,与转移的时间复杂度,用这么个状态dp: dp[u][k]表示在u结点为根的子树中,使其叶子到达不了根的,删掉边的最大权小于等于k的最小被删边权和 #include #include #include #include #include #

Ezereal的博客 348

HDU 3586 Information Disturbing (树形dp+二分)

题意:给你n个结点,m,然后有n-1行数据,每行三个数据a,b,c,表示切断a,b之间的联系是c。结点1是指挥部,叶子结点为前线,在花费不超过的m的基础上,求切断的点中花费最大的最小值。 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3586 题解思路:不难看出这是一道树形dp,但是这样确定这个极限值,我们可以通过二分枚举,因为两

ACM征途 354

hdu 3586 Information Disturbing (树形dp+二分)

题意:给定n个敌方据点,1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏这条边的费用,叶子节点为前线。现要切断前线和司令部的联系,每次切断边的费用不能超过上限limit,问切断所有前线与司令部联系所花费的总费用少于m时的最小limit。 题解:一般看出这题要树形DP不难,但是难在想到要二分。对于上限进行二分,然后通过树形DP进行判断。 #include

Ezereal的博客 354

HDU 3586 Information Disturbing(树形dp+二分)

Information DisturbingTime Limit: 6000/3000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 4017    Accepted Submission(s): 1399Problem DescriptionIn the battlefield...

albertluf的博客 214
上一篇: poj2486 Apple Tree 树形DP
下一篇: sed命令详解 (转)
小小小小葱
博客等级 码龄14年 22粉丝 266原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值