蒟蒻 OIer wwh 的贪心底子实在是太蒻了…于是她决定恶补贪心。这里记载了一些较好的贪心题。多数来源于 CodeForces 和 NewCoder 。有错误欢迎指出。
CodeForces 系列:
一道 NewCoder 上刷到的贪心题,感觉很有意思,记录一下。
题目的大意就是说,给定 n n n 个点的带权完全无向图,第 i i i 个点的权值为 a i a_i ai , u → v u\to v u→v 的边权为 a u + a v a_u+a_v au+av,求这个图的最小生成树的边权和。 n ≤ 1 0 5 n\leq 10^5 n≤105。
注意到 n n n 的数据范围高达 1 0 5 10^5 105,因此直接连边而后跑 kruskal 是不可行的。
我们会发现这个题目里所给图的一个有趣有用的性质:这个图是完全图,因此,假设
m
m
m 是任意一个点,那么
m
m
m 这个点就会和其它
n
−
1
n-1
n−1 个点连成
n
−
1
n-1
n−1 条边,也就是一棵树。那么这里让我们求的是最小生成树,所以
m
m
m 取最小值时就是答案。