题解:【XR-3】核心城市】的更多相关文章

题目链接:P5536 [XR-3]核心城市 这题是某次月赛题. 这题我完全是看标签猜的. 优先选择直径中点即可,这里重要的是互通,很容易想到用堆维护可选的,预处理直径和距叶节点距离即可(最近),实质上是将无根树转化为以中点为根的有根树. 发现第二次\(dfs\)处理的\(deg[]\)只有直径一侧不是我们所要的距叶节点距离,这样就压掉了一次\(dfs\),我还压掉了一个\(vis[]\)数组(嘚瑟),原理很简单,不说了吧. 复杂度是\(O(nlogn)\)(瓶颈在排序),可以通过本题. \(Co…
[XR-3]核心城市 这题真的难啊......... k个核心城市太麻烦,我们假设先找一个核心城市,应该放在哪里? \(任意取一个点,它的最远端是直径的端点.\) \(所以当这个点是直径的中点时,可以达到题目的要求(最大距离最小)\) \(想求中点,我们就保存直径的路径,中间的点就是中点了.\) \(然后该怎么办?其余的k-1个点怎么选?\) \(发现7.8号节点距离可核心城市最远,目前影响答案的是他们,所以我们下一步应该把2和3号节点变成核心城市\) \(至此,贪心策略已经出来了\) \(在以…
一.题目 [XR-3]核心城市 二.分析 题意就是在树中确定$K$个点,满足剩下的$N-K$个点中到这$K$个点的最大距离尽可能小. 理解上肯定是确定一个根,这个根是这个图的中心. 可以通过根据结点的高度,从树的外层一层一层往里面剥,那么每次剥的结点一定是队列里比较靠外的,且加进去的点要么和他同层,要么是层数更高的.所以当减到还剩k个点的时候,它的高度就是答案. 三.AC代码 #include <bits/stdc++.h> using namespace std; #define ll lo…
问题描述 LG5536 题解 两次 \(\mathrm{dfs}\) 求树的直径. 然后找到树的直径的中点. 然后按照 子树中最深的点深度-自己深度 排序,贪心选取前 \(k\) 个. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; template <typename Tp> void read(Tp &x){ x=0;char ch=1;int fh; while(ch!='-'&&a…
题解 : 以暴乱城市 为 源点 向所有点做最短路径 , 然后检查每个不对到暴乱城市的 最短距离 #include<stdio.h> #include<string.h> #include<math.h> #include<iostream> #include<limits.h> #include<algorithm> #include<queue> #include<vector> #include<se…
鉴于T3的惨烈程度,我决定先来颓篇题解. T1 建设城市(city) 挡板法+容斥 m个建设队分成n组,每组必须有一个,先不考虑上限,共有 C(m-1,n-1)种方案. 有i个组是超过k个的,容斥掉 C(n,i)*C(m-i*k-1,n-1) 相当于把i×k个建设队拿出来,把剩下的m-i*k个建设队分成n组并且保证每个组都至少有一个且不考虑上界,再把这i个k放进n个分组里,就至少有i个组是大于k的. #include<iostream> #include<cstring> #inc…
2017年年1月,中国各省GDP排名,台湾排第6:广东,江苏,山东,浙江,河南,台湾,四川,湖北,河北,湖南,我国台湾地区去年的GDP增长率为1.4%,总量折合人民币约为37329.1亿元,加入全国榜单排名第六,在河南省和四川省之间.2015年,河南省GDP首次超过台湾. 比较城市经济形态中的制高点——金融业,以及领军型企业的数量,广州与香港也有不小的差距: 首次!2016亚洲城市GDP50强出炉 2017-07-15 00:30GDP/榜单 全球的城市战争正在打响.城市不仅意味着更多的资源集聚…
“微信小程序”将带来什么样的变化?就单单的是一个超级Web app?还是只是为了给大家手机节省一些空间?腾讯想要的是高达70%以上的“无法监测的巨大流量”,称之为“dark social”(暗社交). 无法监测的流量 其实,无论是淘宝.京东这些电商网站,还是头条.搜狐等内容聚合平台,以及滴滴.美团这样的生活服务网站,都面临一个问题,就是他们的访客到底从哪里来?他们的访客到底是怎么样的? 对内容平台而言,通过在文章底部设置带URL链接的分享按钮,通过流量分析工具(网盟.QLik或自己开发的组件)可…
C. Cellular Network time limit per test 3 seconds memory limit per test 256 megabytes input standard input output standard output You are given n points on the straight line — the positions (x-coordinates) of the cities and m points on the same line…
Cellular Network 题意: 给n个城市,m个加油站,要让m个加油站都覆盖n个城市,求最小的加油范围r是多少. 题解: 枚举每个城市,二分查找最近的加油站,每次更新答案即可,注意二分的时候不要越界oil数组,上下界都不要越.还有,int坑死人,以后绝对全用long long!!! 代码: #include <bits/stdc++.h> using namespace std; typedef long long ll; const int INF=0x3f3f3f3f; cons…