
最小生成树
C202044zxy
这个作者很懒,什么都没留下…
展开
-
CF1408E Avoid Rainbow Cycles
一、题目点此看题本题的翻译似乎叫彩虹圈,好浪漫呀qwqqwqqwq二、解法给边染色然后找环特别不好做,而且边数都会炸。考虑把集合里面的所有点接在这个集合上,这个集合就可以代表颜色,用边的话可以通过到这个新建点中转完成,仔细考虑这样建出来是一个二分图。考虑这个图的性质,如果这个图存在环,那么原图也存在环,因为可以用点到集合的边等效代换原图中点到点的边。问题变成了保留权值最大的边使得这个图不存在环,直接最大生成树。#include <cstdio>#include <algori原创 2020-10-11 16:47:22 · 219 阅读 · 0 评论 -
[POJ 2728] Desert King
一、题目点此看题原创 2020-09-23 22:08:57 · 207 阅读 · 0 评论 -
[模板] 最小树形图
朱刘原创 2020-09-23 16:12:18 · 112 阅读 · 0 评论 -
CF733F Drivers Dissatisfaction
一、题目点此看题二、解法原创 2020-08-20 08:57:28 · 158 阅读 · 0 评论 -
CF1120D Power Tree
一、题目点此看题二、解法原创 2020-08-18 20:19:04 · 148 阅读 · 0 评论 -
CF875F Royal Questions
一、题目点此看题二、解法原创 2020-08-18 20:10:57 · 257 阅读 · 0 评论 -
CF891C Envy
一、题目点此看题二、解法很容易看出来是lctlctlct吧,我们先随便搞一个最小生成树。询问时尝试加入给的边,如果给定的边已经在最小生成树中是可以的。然后判断连成的环中最大边权是否等于这条边,那我们就删去环上最大的边,然后加入这条边,把这条边打上不可替换标记,也就是把权值赋值为−1-1−1,最后再改回去。时间复杂度O(nlogn)O(n\log n)O(nlogn),但是会TTT,贴个...原创 2020-02-07 12:03:34 · 211 阅读 · 0 评论 -
[UOJ 176]新年的繁荣
一、题目点此看题二、解法考虑kruskalkruskalkruskal算法,我们不能去枚举每一条边,但是边权较小,我们可以从大到小枚举边权。设当前枚举到的边权为iii,我们定义a[i]a[i]a[i]为二进制下包含子集iii的权值,我们可以用O(m)O(m)O(m)的时间把以前的aaa拿过来用(枚举a[i and 2j]a[i\space and\space 2^j]a[...原创 2020-01-21 20:20:05 · 324 阅读 · 0 评论 -
[NOI2014]魔法森林
一、题目点此看题二、解法有一个明显的思路,就是对于每一个aaa的取值,我们找到最小的bbb,用它们去更新答案。具体来说,先把边按aaa从小到大排序,然后对于当前的aaa,就把它当做最大的aaa,现在我们要让最大的bbb最小,这不就是最小生成树吗,只是我们要动态维护,剩下的就变成了这道题,贴上代码:#include <cstdio>#include <iostream&...原创 2020-01-18 12:45:22 · 253 阅读 · 1 评论 -
[WC2006]水管局长
一、题目点此看题二、解法简述一下题意吧,本题就是给你nnn个点mmm条边,支持下面两种操作:1、询问(x,y)(x,y)(x,y)所有路径上最大值的最小值。2、去掉边(x,y)(x,y)(x,y),保证边在给定的mmm条边中,并且图任何时候联通。考虑询问,如果我们能维护一棵最小生成树,那么(x,y)(x,y)(x,y)在最小生成树上路径的最大值即是答案,但是本题需要删边,我们可以把...原创 2020-01-12 12:54:00 · 208 阅读 · 0 评论