"Link" Part.1 树 众所周知树是个二分图。 因此我们可以先把树二分图染色,然后把二分图的一侧的点全部反色,那么我们可以把题目变成以下模型: 树上深度为奇数的点有一个球,每次我们可以把一个球移到它相邻的没有球的位置,然后我们要用最少的步数把所有初始的球和空位的位置全部交换。 显然有解的充要 ...
分类:
其他好文 时间:
2020-02-08 15:43:37
阅读次数:
64
题目链接 题解: 如果不考虑长度限制,可以用二分图染色做。 #include <bits/stdc++.h> # define LL long using namespace std; int n; int a[2001]; int col[2001]; struct Edge{ int to; i ...
分类:
其他好文 时间:
2020-02-08 13:37:07
阅读次数:
52
题意: 给你n个人,每个人有一个权值 a_i ?,(a_i?是可以被100整除的))现在需要你将n个人分成两组,有m个关系,a和b有关系代表a和b不能放在同一个组内,为了两组实力尽量平均,要你求两组权值差值最小时最大的值是哪一个 思路: 首先我们知道n个人必须全选分为两组,其次题目保证有解 因此我们 ...
分类:
其他好文 时间:
2020-02-07 20:55:50
阅读次数:
65
给你一个n个点m条边的无向图,进行以下操作 如果存在两个点u和v,使得从u走三步能恰好到达v,那么在u和v之间连接一条边 重复这个操作直到不能再连接新的边,问最后有多少条边? n, m using namespace std; define int long long const int N = 1 ...
分类:
其他好文 时间:
2020-02-06 21:36:29
阅读次数:
61
题目链接 题解: 每一个子连通图,对它进行黑白染色,然后取两种染色中的最小值,然后最后汇总。 #include <bits/stdc++.h> # define LL long long using namespace std; const int maxn=10000+10; const int ...
分类:
其他好文 时间:
2020-02-05 18:37:02
阅读次数:
48
"Link" 如果没有总人数的限制的话,两个班的人数分别为$R=\min(r_i),L=\max(l_i)$是最优的。 如果人数超限了就减少$L$,如果人数不够就增加$R$。 然后就是个简单的二分图染色判定问题了。 ...
分类:
其他好文 时间:
2020-01-27 17:29:04
阅读次数:
64
"Link" 显然是二分图染色,情侣之间不同色直接一条边就行了。 而要连续的三个人不全同色,可以要求$(2i 1,2i)$这两人不同色,这样一定满足连续的三人不全同色。 冷静分析发现这张图显然没有奇环,所以一定有解。 ...
分类:
其他好文 时间:
2020-01-26 22:16:20
阅读次数:
83
封锁阳光大学 标签: 这题是真的难想……知道是二分图染色就明白了,~~虽然之前没学好~~。 题面表面说是 一张 图,实际上……嗯,很多连通子图。 思路 建图$\large \Rightarrow$枚举点$\large \Rightarrow$广搜染色$\large \Rightarrow$判定合法不 ...
分类:
其他好文 时间:
2019-11-11 15:32:34
阅读次数:
104
传送门 ?题意 给出 n 个人,m 场比赛; 这 m 场比赛,每一场比赛中的对决的两人,一个属于 "good player" 另一个属于 "bad player"; 给出你 x 个已经确定的"good player" 和 y 个已经确定的 "bad player"。 问是否可以将这 n 个人划分成两 ...
分类:
其他好文 时间:
2019-11-03 13:11:04
阅读次数:
76
定义 二分图也称二部图,是图论里的一种特殊模型,也是一种特殊的网络流。其最大的特点在于,可以将图里的顶点分为两个集合,且集合内的点没有直接关联,如下图所示。 如果某个图为二分图,那么它至少有两个顶点,且其所有回路的长度均为偶数,任何无回路的的图均是二分图。 1.染色法判断二分图 染色法是对每一个点深 ...
分类:
编程语言 时间:
2019-10-30 18:30:22
阅读次数:
92