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

【用unity实现100个游戏之18】从零开始制作一个类CSGO/CS2、CF第一人称FPS射击游戏——基础篇1(附项目源码) 生存和射击游戏一直是我的最爱,说起3D最普遍的应该就是射击系统了,你可以在任何情况下加入射击功能,所以我写下了这篇FPS开发记录。希望对你有帮助。在这个项目中,你将学习如何设计和实现射击系统、武器系统、玩家控制、场景设计等方面的内容。通过这个项目,你将深入了解游戏开发中的许多核心概念和技术,并且在实践中不断提升自己。本项目将带你从零开始逐步实现一个完整的第一人称射击游戏,并且会逐步引入一些高级功能,如特效、声音等。 阅读详情

题目:给定n个敌方据点,1为司令部,其他点各有一条边相连构成一棵树,每条边都有一个权值cost表示破坏这条边的费用,叶子节点为前线。现要切断前线和司令部的联系,每次切断边的费用不能超过上限limit,问切断所有前线与司令部联系所花费的总费用少于m时的最小limit。(1<=n<=1000,1<=m<=1e6)

二分limit,dp[u]表示去除了子树u的所有叶节点的最小花费,dp[u]=min(w[u],sigma(dp[v])); w[u]表示切断u与其父节点之间的边权,dp[v]为子节点的最优值。

#include <bits/stdc++.h>

using namespace std;
const int maxn=1010;
#define inf 1000001////坑死人啊
int n,m;
struct node{
    int x,w;
    node(int _x,int _w)
    {
        x=_x;
        w=_w;
    }
};
vector<node>a[maxn];
int limit,dp[maxn];
void dfs(int u,int fa)
{
    int flag=0,tmp=0;
    for(int i=0;i<a[u].size();i++)
    {
        int v=a[u][i].x,w=a[u][i].w;
        if(v==fa) continue;
        flag=1;
        if(w<=limit) dp[v]=w;//直接剪断
        dfs(v,u);
        tmp+=dp[v];//计算sigma(dp[v])
    }
    if(flag==1)//转移是在u不是叶子节点的情况下进行的
        dp[u]=min(dp[u],tmp);//min函数里面的dp[u]是暂时存的直接剪断时的花费值
}
bool check(int fuck)
{
    limit=fuck;
    for(int i=1;i<=n;i++)
        dp[i]=inf;////inf不要取太大,否则之后用到的加和会爆int,1e6+1刚刚好
    dfs(1,-1);
    return dp[1]<=m;///
}
int main()
{
    //cout << "Hello world!" << endl;
    //freopen("in.txt","r",stdin);
    while(~scanf("%d%d",&n,&m),n+m)
    {
        for(int i=1;i<=n;i++)
            a[i].clear();
        for(int i=1;i<n;i++)
        {
            int x,y,z;
            scanf("%d%d%d",&x,&y,&z);
            a[x].push_back(node(y,z));
            a[y].push_back(node(x,z));
        }
        int l=0,r=m,ans=-1;
        while(l<r-1)
        {
            int mid=(l+r)/2;
            if(check(mid))
                r=mid;
            else l=mid;
        }
        if(check(r)) ans=r;
        if(check(l)) ans=l;

        printf("%d\n",ans);
    }
    return 0;
}

 

嵌入式工程师成长之路(1)——元件基础(试读版) 上拉电阻阻值选错导致MCU反复重启?0欧电阻竟然能“背锅”信号干扰?高精密采样电阻的温漂毁了整个控制系统?——这些问题,都是基础不牢!优快云硬件领域头部博主十年经验汇总,涵盖电阻分类、封装、实战选型、避坑指南,附带职业进阶路径,助你从小白进阶为“电路医生”! 阅读详情

相关推荐

详解Numpy中的transpose方法

最近在学Numpy碰到了关于数组转置和换轴的概念,尤其是对tanspose方法有些疑惑,尤其是多维,查了不少资料,终于搞懂了。 Numpy数组的轴(axis) 所谓的**轴(axis)**可以理解为数组的维度。 具体而言,二维数组就是有两个维度,如果从空间上看,它就是一个平面,由x轴和y轴构成,而与此相对应的,该二维数组就有两个轴,x轴对应0轴,y轴对应1轴。 同理,三维数组有三个维度,空间上...

BlankGrid的博客 936

HDU-3586 Information Disturbing(树形DP+删边)

题目大意:一棵有n个节点的有根树,1为根节点,边带权,表示删掉这条边的代价。现在要删掉一些边,使叶子节点不能到达根节点。但是,每次删除的边的代价不能超过limit,删掉的边的总代价不能超过m,求最小的limit的可能取值。 题目分析:二分枚举limit,定义状态dp(u)表示将u与它管辖的叶子节点失去联系所需要的总代价,则: dp(u)+=min(dp(son),e[i].w),e[...

weixin_30270889的博客 179

MyEclipse 2017 CI 10安装与激活

本文介绍MyEclipse 2017 CI 7、CI 8、CI 9和CI 10的安装与激活。此方法理论上应该能激活MyEclipse 2017 CI所有系列,即激活方法是通用的,只是激活文件略有不同。本文提供MyEclipse 2017 CI 7、CI 8、CI 9和CI 10的激活文件。说明:博主所提供的压缩包格式均为RAR5,即WinRAR 5.0以上的版本才能正常解压,别的压缩软件博主不太清...

weixin_42539046的博客 9416

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

yolov7模型部署流程

yolov7部署流程

算法的猫 1396

面试中常考的数学题——截木棍、圆上取点、赛马、红蓝墨水,测试毒药、坐到正确座位问题

文章目录1.将一根木棒截成三段,问能够组成三角形的概率;2.在圆上任取三点,问能够组成锐角、直角、钝角三角形的概率;3.共有25匹马,找出最快的3匹,只有5个赛道,每次比赛只能得到5匹马的速度排序,最少需要多少次比赛;4 有两瓶红蓝墨水,体积一样,现在从红墨水中舀一勺加入蓝墨水中,搅拌均匀后,在从蓝墨水中舀一勺加到红墨水中,试问这两瓶墨水哪瓶纯度更高。 1.将一根木棒截成三段,问能够组成三角形的概率; 来源:https://blog.youkuaiyun.com/weixin_41245919/article/deta

weixin_41558411的博客 4906

HDU - 3586

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

青烟绕指柔的博客 468

保姆级教程:用DaVinci Configurator & Developer从零搭建AUTOSAR OS(TC2xx三核实战)

本文提供了一份详细的AUTOSAR OS配置指南,使用DaVinci Configurator和Developer工具从零开始搭建Infineon TC2xx三核系统。涵盖多核配置协同逻辑、版本兼容性陷阱及验证错误的解决方案,帮助开发者在3小时内构建可运行的多核OS框架。

weixin_33940469的博客 313

HDU - 3586 Information Disturbing(树形dp)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3586 题目意思:给根节点为1的一棵树,删除一些边使叶子节点都不能到达根节点,并且边权和不能大于m,使删除边的最大值最小,求最小值。 思路:这个题如果想到二分答案就递推很简单了,二分出答案然后dp去验证。 dp[x]表示将x与它管辖的叶子节点失去联系所需要的总代价。 dp(x)+=min(dp(...

LLL_yx的博客 526

激光雷达点云配准:ICP与NDT算法详解

激光雷达点云配准:ICP与NDT算法详解​ ,人工智能,计算机视觉,大模型,AI,本文深入解析激光雷达点云配准的ICP与NDT算法。阐述了点云配准基础概念与评价指标,详解ICP算法原理、流程、最优变换矩阵计算、优缺点及改进版,给出Python代码示例;同样解析NDT算法的原理、流程、模型构建、优缺点、参数选择与代码示例。还对比两者在精度、效率、鲁棒性和适用场景的差异,提供算法选择建议,介绍实际应用案例、常见问题及解决方法,探讨算法发展趋势。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 15万+

太美了!现代女主jk海军风穿搭四视图

哪个女孩子初高中的时候不买几套JK衣服啊,穿上完全是青春女孩。那还愣着干啥,不得也给你的漫剧女主也穿上!直接就是分享三套JK穿搭,红棕双麻花辫配经典水手服,是那种乖乖巧巧的元气学妹;粉色羊毛卷双马尾,搭配蝴蝶结和小挎包甜度直接拉满;还有灰棕色侧麻花辫,浅蓝上衣配黑色百褶裙,温柔里又带点小酷。下面把这三套角色的完整提示词分享出来,喜欢哪套就拿去参考,改改发型和配色,还能继续解锁新角色!

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 51

hdu3586Information 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

MissZhou要努力 850

伺服系统控制原理深度解析

摘要:本文系统阐述了伺服系统的控制原理与应用。首先介绍了伺服系统的定义、组成及其在工业自动化中的重要性;然后详细分析了反馈控制机制、稳定性判据和性能指标;重点推导了传递函数和状态空间两种数学模型,并通过LaTeX公式展示了二阶系统建模过程;进而对比了PID控制、状态反馈及自适应控制等方法的优缺点;最后结合数控机床等案例,验证了理论方法的有效性,并展望了伺服系统智能化发展趋势。全文兼顾理论深度与实践指导性,为控制工程领域提供了系统的技术参考。

技术工作者 1266

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

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

weixin_30588675的博客 138

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

【树形DP+二分】HDU3586 Information Disturbing

呼~二分大法好

AFO 452

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【题解】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

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

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

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

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]

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

dianer2977的博客 209

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

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

D_Double's Journey 2384

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 665

HDU3586 Information Disturbing 树形dp+二分

题目链接 Information Disturbing Time Limit: 6000/3000 MS (Java/Others)Memory Limit: 131072/65536 K (Java/Others) Total Submission(s): 5602Accepted Submission(s): 1811 Problem Description In ...

Luowaterbi的博客 223

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 t

lastone的专栏 469

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

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

Ezereal的博客 355

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
上一篇: HDU - 1011Starship Troopers (树形dp+背包)
下一篇: HDU - 5091 Beam Cannon(线段树+几何)
GoLakerswxy
博客等级 码龄9年 41粉丝 158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值