当前位置: 首页 > news >正文

Codeforces Round 936 (Div. 2)

C. Tree Cutting

题意:给定一棵树,需要删除 k 条边,使得 k+1 个联通块中的最小结点数最大。求出这个最大值

思路:求最小值最大--想到二分答案--然后深搜满足条件的连通块是否大于k即可

#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#include<map>
using namespace std;
typedef long long ll;
const int N=2e5+10;
vector<int>v[N];
int n,k,cnt;
dfs(int u,int father,int mid)
{//返回的是每个子树节点的个数 若有子树节点符合mid 则切一刀 返回0int res=1;//自身的节点个数为1 从上到下 从下返回 记录节点个数for(int i=0;i<v[u].size();i++){int j=v[u][i];if(j==father) continue;//如果是自己的父亲节点就不深搜下取res+=dfs(j,u,mid);}if(res>=mid){res=0;cnt++;}return res;
}
bool check(int mid)
{cnt=0;dfs(1,0,mid);if(cnt>k) return true;return false;
}
int main()
{int t;cin>>t;while(t--){cin>>n>>k;for(int i=1;i<=n;i++) v[i].clear();for(int i=1;i<n;i++){int a,b;cin>>a>>b;v[a].push_back(b);v[b].push_back(a);}int l=0,r=n+1;while(l<r){int mid=(l+r+1)>>1;if(check(mid)) l=mid;else r=mid-1;}cout<<l<<endl;}return 0;
}

http://www.lryc.cn/news/323983.html

相关文章:

  • yolov6实现遥感影像目标识别|以DIOR数据集为例
  • stable-diffusion-electron-clickstart 支持windows AMD显卡
  • ES进程除了kill之外,有什么优雅关闭的方式吗?
  • 院子摄像头的监控
  • SpringBoot3使用响应Result类返回的响应状态码为406
  • 基础:TCP四次挥手做了什么,为什么要挥手?
  • Android Studio实现内容丰富的安卓校园二手交易平台(带聊天功能)
  • 第十一届蓝桥杯省赛第一场真题
  • 设计模式 模板方法模式
  • 【STM32嵌入式系统设计与开发】——6矩阵按键应用(4x4)
  • 乐优商城(九)数据同步RabbitMQ
  • XSS-labs详解
  • 设计模式——模板方法模式封装.net Core读取不同类型的文件
  • [思考记录]技术欠账
  • React - 实现菜单栏滚动
  • 线性筛选(欧拉筛选)-洛谷P3383
  • 企业微信可以更换公司主体吗?
  • Qt教程 — 3.6 深入了解Qt 控件:Display Widgets部件(2)
  • Golang案例开发之gopacket抓包三次握手四次分手(3)
  • 如何减少pdf的文件大小?pdf压缩工具介绍
  • TypeScript基础类型
  • 长安链智能合约标准协议第二草案——BNS与DID协议邀请社区用户评审
  • 安防监控视频汇聚平台EasyCVR接入海康Ehome设备,设备在线但视频无法播放是什么原因?
  • 【Python + Django】表结构创建
  • 解锁编程潜能:ChatGPT如何革新软件开发
  • 内网使用rustdesk进行远程协助
  • linux内核input子系统概述
  • 【解决报错】vi/vim修改文件时报错:Found a swap file by the name xxxxx
  • BRAM底层原理详细解释(1)
  • GEE:为什么在机器学习分类或回归时,提取特征变量后的样本点下载到本地时,数据为空且缺少坐标?