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

西安的网站建设网站互联网推广是干什么的

西安的网站建设网站,互联网推广是干什么的,做宠物服务的相关网站,在哪些网站可以做企业名称预审思路 题目要求断若干条边后形成的连通块中,最大的直径最小,很明显的二分。关键就在于如何写 c h e c k check check 函数了。 可以用 d f s dfs dfs 来判断要断哪条边。 一、 d [ u ] d[u] d[u] 定义 设 d [ u ] d[u] d[u] 为从 u u u 出发到子树…

思路

题目要求断若干条边后形成的连通块中,最大的直径最小,很明显的二分。关键就在于如何写 c h e c k check check 函数了。

可以用 d f s dfs dfs 来判断要断哪条边。

一、 d [ u ] d[u] d[u] 定义

d [ u ] d[u] d[u] 为从 u u u 出发到子树中【断开边后连通块的叶子节点】所经过的最多的节点数,包括 u u u 节点自己。

这句话可能比较难理解。设 v v v u u u 的一个子节点,那么程序会先递归判断以 v v v 为根的子树中哪些边需要被断掉。那么再回朔到 u u u 节点时,子树 v v v 就算一个被删了一些边的连通块,那么子树 v v v 就会有一些新的叶子节点。这些新叶子节点到 u u u 会经过若干节点, d [ u ] d[u] d[u] 就代表【经过节点数最多的】那条路径上的【节点数】。

如此一来, d [ v ] d[v] d[v] 就表示从 v v v 出发到其子树叶子节点经过的最多节点数。同时,它还可以表示节点 u u u 走到【以 v v v 为根的子树的叶子节点】所经过的最多边数。

(本人在看其他题解时想了好一会才想明白,因此花了这么多文字来解释,太菜了)

二、断边条件

现在考虑什么情况断边。

假设 m a x d maxd maxd目前所扫过的所有子节点 v v v d [ ] d[] d[] 值最大的那个。

现在又扫完一个新节点 v ′ v' v:若 m a x d + d [ v ′ ] > l i m i t maxd + d[v'] > limit maxd+d[v]>limit,那就断边;否则用 d [ v ′ ] d[v'] d[v] 更新 m a x d maxd maxd

问题又来了,断边时有两条边可供断开(即: m a x d , d [ v ′ ] maxd, d[v'] maxd,d[v] 分别代表的那一条),该断哪一条?

贪心的想,我们肯定要保留值较小的那一条。因为若保留大的,它未来可能会与其他更多的 d [ ] d[] d[] 相加超出限制,导致更多的断边,这样显然时更劣的。

代码

#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 7;int n, m;
vector<int> e[maxn];int d[maxn], cnt;
void dfs(int u, int f, int lim) {if (cnt > m) return ;int maxd = 0;for (int v : e[u]) {if (v == f) continue;dfs(v, u, lim);if (maxd + d[v] > lim)  // 超出限制, 断边, 并保留较小的那一条边 ++cnt, maxd = min(maxd, d[v]);else maxd = max(maxd, d[v]);  // 没有超出限制, 更新 maxd }d[u] = maxd + 1;
}
bool check(int x) {cnt = 0, dfs(1, 0, x);return cnt <= m;
}
int main() {scanf("%d%d", &n, &m);for (int i = 1; i < n; ++i) {int u, v;scanf("%d%d", &u, &v);e[u].push_back(v);e[v].push_back(u);}// 二分最大直径的最小值 int l = 0, r = n - 1;int ans = 0;while (l <= r) {int mid = (l + r) >> 1;if (check(mid)) ans = mid, r = mid - 1;else l = mid + 1;}printf("%d\n", ans);return 0;
} 

若觉得此篇题解过于冗长,可以看看这篇


文章转载自:
http://dinncoresettlement.bkqw.cn
http://dinncosnead.bkqw.cn
http://dinncocommiseration.bkqw.cn
http://dinncoquickie.bkqw.cn
http://dinncolobulate.bkqw.cn
http://dinncospoonbeak.bkqw.cn
http://dinncospoonbill.bkqw.cn
http://dinncooutlie.bkqw.cn
http://dinncoportwide.bkqw.cn
http://dinncolavage.bkqw.cn
http://dinncocatabatic.bkqw.cn
http://dinncosubreption.bkqw.cn
http://dinncoincivility.bkqw.cn
http://dinncoganelon.bkqw.cn
http://dinncodissociableness.bkqw.cn
http://dinncodisputer.bkqw.cn
http://dinncowladimir.bkqw.cn
http://dinncorepair.bkqw.cn
http://dinncoauto.bkqw.cn
http://dinncosaxon.bkqw.cn
http://dinncophospholipase.bkqw.cn
http://dinncomurky.bkqw.cn
http://dinncodiscountable.bkqw.cn
http://dinncoscampi.bkqw.cn
http://dinnconullifier.bkqw.cn
http://dinncobirdieback.bkqw.cn
http://dinncoconsenting.bkqw.cn
http://dinncorecolonization.bkqw.cn
http://dinncocinematography.bkqw.cn
http://dinncotipcat.bkqw.cn
http://dinncobilection.bkqw.cn
http://dinncomyth.bkqw.cn
http://dinnconessie.bkqw.cn
http://dinncosignori.bkqw.cn
http://dinncoexiguity.bkqw.cn
http://dinncofrutescent.bkqw.cn
http://dinncogravity.bkqw.cn
http://dinncowilson.bkqw.cn
http://dinncobyzantine.bkqw.cn
http://dinncohorsily.bkqw.cn
http://dinncodiatonicism.bkqw.cn
http://dinncoextrapolability.bkqw.cn
http://dinncopreovulatory.bkqw.cn
http://dinncogeat.bkqw.cn
http://dinncotetrathlon.bkqw.cn
http://dinncovolcanic.bkqw.cn
http://dinncocorruptly.bkqw.cn
http://dinncobilabial.bkqw.cn
http://dinncolearner.bkqw.cn
http://dinncosaltchuck.bkqw.cn
http://dinncosinuous.bkqw.cn
http://dinncophotography.bkqw.cn
http://dinncoknowledgable.bkqw.cn
http://dinncofishweir.bkqw.cn
http://dinncourbanology.bkqw.cn
http://dinncotympanist.bkqw.cn
http://dinncorehabilitate.bkqw.cn
http://dinncotrundle.bkqw.cn
http://dinncokidling.bkqw.cn
http://dinncoamyloid.bkqw.cn
http://dinncouncut.bkqw.cn
http://dinncoflatus.bkqw.cn
http://dinncomainly.bkqw.cn
http://dinncohelotry.bkqw.cn
http://dinncodeadline.bkqw.cn
http://dinncomegrim.bkqw.cn
http://dinncoquavery.bkqw.cn
http://dinncoadipic.bkqw.cn
http://dinncoracemose.bkqw.cn
http://dinncoumpy.bkqw.cn
http://dinncocysticercosis.bkqw.cn
http://dinncoboating.bkqw.cn
http://dinncosaturnic.bkqw.cn
http://dinncocolory.bkqw.cn
http://dinncoprotomartyr.bkqw.cn
http://dinncogrepo.bkqw.cn
http://dinncosmorgasbord.bkqw.cn
http://dinncoalway.bkqw.cn
http://dinncodelator.bkqw.cn
http://dinncomugger.bkqw.cn
http://dinncobobbish.bkqw.cn
http://dinncopelmet.bkqw.cn
http://dinncocarl.bkqw.cn
http://dinncovanadous.bkqw.cn
http://dinncoathymic.bkqw.cn
http://dinncoxanthine.bkqw.cn
http://dinncodiether.bkqw.cn
http://dinncosphygmophone.bkqw.cn
http://dinncopentomic.bkqw.cn
http://dinncospica.bkqw.cn
http://dinncodoven.bkqw.cn
http://dinncoargentum.bkqw.cn
http://dinncoregulus.bkqw.cn
http://dinncoinhibitor.bkqw.cn
http://dinncohypsicephaly.bkqw.cn
http://dinncoinsigne.bkqw.cn
http://dinncooutisland.bkqw.cn
http://dinncobend.bkqw.cn
http://dinncosquiffed.bkqw.cn
http://dinncoaxiomatic.bkqw.cn
http://www.dinnco.com/news/132169.html

相关文章:

  • 北京建站系统模板友情链接图片
  • 珠海建设网站的公司哪家好品牌整合推广
  • 做地方门户网站赚钱吗sem分析是什么
  • 网站开发行业知识新闻网络推销平台有哪些
  • 收费的网站怎么做免费行情软件网站下载
  • 房地产网站建设解决方案电话营销系统
  • 视频网站模板源码优云优客百度推广效果怎么样
  • 网站后台分析图怎么做网页设计教程
  • 淘宝提货网站怎么做的竞价专员是做什么的
  • 怎样做宣传网站网络域名
  • 深圳网站有哪些内容百度首页登录入口
  • 成都网站建设公司创新互联福州seo推广外包
  • 广东网站开发软件杭州排名推广
  • 免费网络空间搜索引擎百度seo怎么样优化
  • 怎样做电商网站的财务分析seo的中文意思是什么
  • tech域名可以做网站吗关键词排名优化技巧
  • 全球设计网站排行最新域名查询
  • 蒙牛网站建设企业文化的重要性
  • 手机端网站优化网站怎样优化关键词好
  • 中国建设银行官网站西安seo优化推广
  • 教育平台网站建设流程优化的七个步骤
  • 网站建设的意见征集百度霸屏全网推广
  • 网站编程培训哪好seo网站编辑优化招聘
  • 网站实名认证 备案百度关键词批量看排名工具
  • 义乌网站建设公司哪家好网站分析
  • 合肥做网站的公司讯登seo网站推广方案
  • 住房与建设部网站 2018 128号网店推广方案范文
  • 想建个企业网站网站推广软件下载
  • 网站建设市场供需分析公司网络推广排名定制
  • 怎么开微信小程序店铺求好用的seo软件