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

做网站有什么用百一度一下你就知道

做网站有什么用,百一度一下你就知道,怎样做专业网站,建立网站成本C. Tree Cutting 题意&#xff1a;给定一棵树&#xff0c;需要删除 k 条边&#xff0c;使得 k1 个联通块中的最小结点数最大。求出这个最大值 思路&#xff1a;求最小值最大--想到二分答案--然后深搜满足条件的连通块是否大于k即可 #include<iostream> #include<al…

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.tj-hxxt.cn/news/2655.html

相关文章:

  • mvc中手把手做网站sem是什么设备
  • 石家庄网站制作找谁域名购买平台
  • wordpress优化教程win优化大师怎么样
  • 有没有专门做蛋糕的网站深圳竞价托管公司
  • 做兼职网站设计seo发包技术教程
  • 成都网站制作南昌sem和seo的区别
  • 政府网站建设年终总结网络广告营销的特点
  • 建设银行网站设计特点搜索引擎优化的目标
  • 高权重的b2b网站谷歌关键词搜索量数据查询
  • 专业网站开发企业制作网站大概多少钱
  • 做网站起什么题目上海百度推广优化公司
  • 做日用品有什么网站好360竞价推广客服电话
  • 杭州网站开发公司排名购买网站域名
  • 手机套 东莞网站建设自助建站系统
  • 程序员做外包网站税收大数据
  • 怎样做公司网站推广手机优化软件下载
  • 我的网站百度搜不到整站seo定制
  • 杭州python做网站深圳seo培训
  • 广州天河发布公众号seo站
  • 门户网站开发 报价买卖交易平台
  • 地图网站 源码百度免费优化
  • 个人做网站赚钱么学电脑培训班多少一个月
  • 最新远程网站建设服务器青岛网站关键词排名优化
  • 合肥移动网站建设bt蚂蚁
  • 龙口做网站案例全网营销推广案例
  • 南宁网站建站公司百度seo入驻
  • 虚拟主机怎么发布网站吗免费云服务器
  • 外贸cms 网站做seo推广公司
  • php动态网站开发人民邮电出版社太原网站建设方案优化
  • wordpress建视频网站可以吗排名网站