算法 最小生成树 思路 我们把每个点看成一个部落,每次取最小距离的两个抱团,同时部落也减少了一个....然后减减减,直到部落数==目标数,此时下一个不同部落的距离就是最短的距离! 代码 #include<iostream> #include<cstring> #include<algorithm> ...
分类:
Web程序 时间:
2020-05-01 18:49:02
阅读次数:
70
题目链接 这道题一看最小值最大,很容易被误导进二分答案的思路,但实际上并不需要二分答案。 其实正解是最小生成树,我们先预处理出原图的最小生成树,因为要分k个部落,所以我们先把最小的n-k边先全部选走。因为我们用kruskal的话要用到并查集,这样我们就可以判断他们是否在同一部落中。然后我们再枚举剩下 ...
分类:
Web程序 时间:
2019-10-06 20:54:07
阅读次数:
111
最小生成树或者二分都行,但是最小生成树会好写一些~ Code: ...
分类:
Web程序 时间:
2019-09-28 14:58:09
阅读次数:
98
这题太水了吧,不知道怎么蓝的,蒟蒻只写了十五分钟就一次AC了…… 但是挺有意思,就发篇题解吧qwq emmm……最小生成树(贪心),就没别的了…… 要明确: 一开始可以把每个点都看成一个部落,那么每一次连一条不相通的边时,就相当于合并了两个部落。 那么当剩下k个部落的时候,找下一条边即可。 有一个要 ...
分类:
其他好文 时间:
2018-12-05 00:20:05
阅读次数:
148
P4047 [JSOI2010]部落划分 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的。 不过好消息是,聪聪得 ...
分类:
Web程序 时间:
2018-09-29 20:25:50
阅读次数:
140
我是zz吗这么简单都写错…… 一眼二分,然后判断的话是枚举点,然后计算这个点到已有联通块的最小距离,如果这个点到一些联通块的距离小于当前二分的val,则把这些联通块合并起来,这里用并查集维护,最后看这样得出的部落数是否大于k(多出来的可以直接合并) 有个非常小的优化就是不用double二分,直接把点 ...
分类:
Web程序 时间:
2018-07-30 01:11:16
阅读次数:
207
1821: [JSOI2010]Group 部落划分 Group 链接 分析: 二分,然后把小于这条边的全连上,然后判断联通块的个数,如果<k,那么说明mid太大,否则说明mid太小。 其实有更奇妙的思路,从小的往大的加边,一旦加到使联通块的个数==k-1了,说明k个联通块已经构造出来了,再加入这一 ...
分类:
Web程序 时间:
2018-07-08 10:41:28
阅读次数:
229
Description 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的。 不过好消息是,聪聪得到了一份荒岛的地图。地图上标 ...
分类:
Web程序 时间:
2018-04-01 11:58:53
阅读次数:
198
1821: [JSOI2010]Group 部落划分 Group Description 聪 聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则 经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部 ...
分类:
Web程序 时间:
2018-01-14 15:55:12
阅读次数:
174
1821: [JSOI2010]Group 部落划分 Group Description 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗。只是,这一切都成为谜团了——聪聪根本就不知道部落究 ...
分类:
Web程序 时间:
2017-12-22 17:32:45
阅读次数:
201