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

企业手机网站建设有百度seo关键词排名s

企业手机网站建设有,百度seo关键词排名s,镇江百度网站建设,网站图片验证码出不来D. A Wide, Wide Graph 题目#xff1a; 思路#xff1a; 考察树的直径的性质以及逆向思维 这一题要是正向思考可能会有些难#xff0c;我们不如反向思考看看 树上的最长路线是树的直径#xff0c;也就是说如果 k 大于了直径 d#xff0c;那么所有点都将是一个联通块 思路 考察树的直径的性质以及逆向思维 这一题要是正向思考可能会有些难我们不如反向思考看看 树上的最长路线是树的直径也就是说如果 k 大于了直径 d那么所有点都将是一个联通块否则肯定会有点连接起来 如果我们知道树的直径的性质那么这题就迎刃而解了 对于树的直径的两个端点 u,v树上任意一点 z 的最长路径其终点一定在 u 或者 v 上 那么只要知道了这个我们就好做了既然要满足两点间的距离大于等于 k那么肯定是取最大值看由于最大值一定会连接到直径两端任意一个那么只要 z 对于 u,v 两点的距离大于等于 k那么就会和 u,v 一起变成一个连通块并且最后的形态肯定是 一个连通块 和 x 个单点 为什么呢感性的想既然 z 到 u,v 的距离最大那么肯定是先连 u,v如果有别的节点 y那么肯定会一起到 u,v 中即不可能存在先连接 y 再连接 u,v 的情况 所以我们可以用三次dfs来解决这题前两次求直径的两个端点同时求每个节点到端点 1 的距离第三次我们求所有点到端点 2 的距离最后模拟即可 代码 #include iostream #include algorithm #includecstring #includecctype #includestring #include set #include vector #include cmath #include queue #include unordered_set #include map #include unordered_map #include stack #include memory using namespace std; #define int long long #define yes cout Yes\n #define no cout No\nvoid solve() {int n;cin n;vectorvectorint g(n 1);for (int i 0; i n-1; i){int u, v;cin u v;g[u].push_back(v);g[v].push_back(u);}vectorint dep(n 1, 0),dep2(n1,0),dep3(n1,0);int root1 0, root2 0;auto dfs1 [](auto self, int fa, int se) -void {dep[se] dep[fa] 1;for (auto son : g[se]){if (son fa) continue;self(self, se, son);}if (dep[se] dep[root1]){root1 se;}};dfs1(dfs1, 1, 1);auto dfs2 [](auto self, int fa, int se) -void {dep2[se] dep2[fa] 1;for (auto son : g[se]){if (son fa) continue;self(self, se, son);}if (dep2[se] dep2[root2]){root2 se;}};dfs2(dfs2, root1, root1);auto dfs3 [](auto self, int fa, int se) -void {dep3[se] dep3[fa] 1;for (auto son : g[se]){if (son fa) continue;self(self, se, son);}};dfs3(dfs3, root2, root2);vectorint dis(n 1, -1e9);for (int i 1; i n; i){dis[i] max(dep2[i], dep3[i]) - 1;}sort(dis.begin(), dis.end());vectorint ans;int index n;int nowans n;int k n;int flag 0;while (k0){while (index 0 dis[index] k){index--;nowans--;flag 1;}ans.push_back(nowans flag);k--;}for (int i n-1; i 0; i--){cout ans[i] ;}cout endl; }signed main() {cin.tie(0)-sync_with_stdio(false);int t 1;while (t--){solve();}return 0; }
http://www.hkea.cn/news/14325108/

相关文章:

  • 网站的详情页面设计做网站大优惠
  • 宿州市住房 建设 官方网站优化网站图片
  • 网站做301有什么用用模板做的网站权重高吗
  • 正规营销型网站定制中国交通建设集团第四工程局网站
  • python3.5 做网站做网站多少钱西宁君博专注
  • 鹰潭网站制作莱芜最新新闻
  • 苏州公司建设网站网站备案 网站名称
  • 网站后台数据应该怎么做有服务器有域名如何做网站
  • 建立网站的用处怎么做网页 网站制作
  • 建设网站的好处和优点中国机械工业网
  • 个人网站能做淘宝客吗哪里有营销型网站最新报价
  • 湛江网站建设产品优化深圳网站备案拍照
  • 前几年做那些网站致富被墙域名黑别人网站
  • 天津网站建设技术支持互联网做网站排明
  • 官方网站建设的四个步骤正规网站建设公司在哪里
  • 江门搜索引擎网站推广网站广告代码检测
  • 没有服务器 怎么做网站做食品外贸选哪个网站好
  • 北京网站建设销售招聘wordpress文章分集
  • 全包胶衣网站新品发布会视频
  • 建设门户网站的目的和需求连接品硕网线做怎么弹网站
  • 公众号模板网站标题优化seo
  • 网站设计示例百度官方网站登录
  • 邯郸市搞网站服务务的吗关于门户网站建设的整改报告
  • 上海松江网站制作python做网站好吗
  • 如何更换网站域名企业邮箱登录方法
  • 做网站的人搞鬼少首页文件河北省建设信息中心网站
  • 沧州网站网站建设职业中学网站建设
  • 为什么网站显示在建设中长治网站制作服务
  • 北京seo网站内部优化建设项目查询网站
  • 长沙做网站开发大概价格徐州网站快速优化排名