首页 > 其他分享 >CODE FESTIVAL 2017 Final J 题解

CODE FESTIVAL 2017 Final J 题解

时间:2023-07-10 20:57:18浏览次数:53  
标签:CODE cup FESTIVAL 题解 MST cdots 2017 dis

problem & blog

萌萌点分治,积累个 trick /qq。


对于完全图 \((V,E)\),将 \(E\) 分成 \(E_1, E_2, \cdots, E_k\)(\(E_1 \cup E_2 \cup \cdots \cup E_k = E\))。对每个边集求 MST,得到新边集 \(E_1^{'}, E_2^{'}, \cdots, E_k^{'}\),再求 MST。最终剩下的边集,等同于原边集的 MST

反证是平凡的,就不证了。

对照上面那玩意,\(E_i\) 是可以随便选的,所以直接上点分治。对于一个中心,按照板子求遍 \(dis_u\)。那么 \((u,v)=w_u+w_v+dis_{u,v}=(w_u+dis_u)+(w_v+dis_v)\)。故可以按照 \(w_u+dis_u\) 为关键字,取其中最小的那个,和同一次 divide 时获得的其他 \(u\) 组合边。

按照 trick 的理论,跑遍 Kruskal 就是答案了。

所以甚至比洛谷模板题还好写。

代码,看起来是两只 log 的,不是很会证这种东西所以不管了。

标签:CODE,cup,FESTIVAL,题解,MST,cdots,2017,dis
From: https://www.cnblogs.com/liangbowen/p/17542298.html

相关文章

  • P4016题解
    本题是一个比较经典的问题(环形均分纸牌问题),我也不知道为什么它在网络流24题里面出现。但是作为一道比较典的排序算法的题,还是放出来讲一下。solution假设\(a_1\)给\(a_n\)了\(x_1\)张纸牌,\(a_2\)给\(a_1\)了\(x_2\)张纸牌......(\(x_i\)可正可负)。因此操作数量为......
  • P2886题解
    题目大意给定起点\(S\)和终点\(T\),求从起点到终点恰好经过\(N\)(\(N\)给定)条边的最短路径。solution发现本题点数巨多,但是边数小到可怜,我们可以只保留了一部分点,先判断连通性,不连通直接输出即可。当\(S\)和\(T\)连通时,我们设\(G^k\)为经过\(k\)条边后最短路的邻......
  • Largest-Smallest-Cyclic-Shift题解
    题目链接本题码量不大,但是事实上是一道极其难想的思维题。题目描述你有\(a\)个a,\(b\)个b,\(c\)个c。要求用这\(a+b+c\)个字母拼接成一个字符串,使得这个字符串的最小表示法在所有能拼成的字符串中最大。补充:最小表示法,将一个字符串的最后一个字符放到首位,重复这个操作,......
  • AT-abc214-g题解
    题目描述给定两个排列\(p,q\),要求统计满足\(\foralli,r_i\not=p_i,r_i\not=q_i\)的排列\(r\)的数量。对\(1000000007\)取模数据范围\(n\le3000\)。solution本题要求统计数量,反正我想了半天没想到怎么正向统计(bushi),因此我们考虑容斥。设\(h_i\)为只看其中......
  • P3599题解
    本题是一道比较典的构造题,拿来扩宽扩宽大家的眼界吧。Task1试判断能否构造并构造一个长度为\(n\)的\(1\simn\)的排列,满足其\(n\)个前缀和在模\(n\)的意义下互不相同。很容易想到的一点是:\(n\)一定排在第一位,因为如果排在别的位,加上\(n\)后在模\(n\)意义下是不......
  • CF1421E题解
    题目链接本题作为一道本人思考了50分钟没想出来的大思维题,我觉得可以用来扩宽一下大家的视野。本题中,我们每次都会选取两个相邻的数\(a_i\)和\(a_{i+1}\),同时将这两位变为一位,这一位上填的数为\(-(a_i+a_{i+1})\)。很容易想到的一个\(O(n^3)\)的dp做法是区间dp,设\(f[......
  • NOIP2013-2023题解
    本文章主要是为了不想卷题的时候不是特别颓废而准备本文章是为了总结NOIP最近的题目(为了今年NOIP做准备),目前还没写完,尽量做的全面一些。2013积木大赛给定一个长度为\(n\)的序列\(h_i\),初始有一个全为\(0\)的序列,每次操作可以任意选择\(L,R\),使得\([L,R]\)这段区......
  • CF1545D-题解
    题目链接题目描述有\(n\)个人和\(k\)个间隔相同时间的时刻,每个人都向正方向做匀速直线运动。给出每个时刻(\(0\simk-1\))的所有人的坐标集合(无序),在这\(nk\)个数中有一个数是错误的,找出这个错误的数并将其改正。数据范围:\(5\len\le1000\),\(7\lek\le1000\)。加......
  • 【问题解决】docker login报错 org.freedesktop.Secret.Error.IsLocked: Cannot creat
    问题场景环境docker24.0.2社区版UbuntuServer18.04LTS刚刚执行dockerlogin登录仓库报错:hellxz@bigdata:~/dockerTest$dockerloginharbor.xxx.com.cnUsername:hellxzPassword:**Message:17:26:21.611:Remoteerrorfromsecretservice:org.freedesktop.Se......
  • CF1827D 题解
    problem&blog。很好的题。用到一些关于重心的trick。不妨认为只有一个重心\(\text{maxx}\)。设当前节点数为\(n\),重儿子所在的子树的大小为\(\text{maxsiz}\),那么答案即\(n-2\times\text{maxsiz}\),方法是往重儿子的那个子树爆加节点。因此需要在线维护\(\text{maxx}......