首先开A,发现是GDOI防ak题,随便写个30分就跳过。 再开B,显然图必须是一个二分图,再枚举小的一边的节点数量就是35分。 后来想到了最大权闭合子图,想到了和正解差不多的东西,但是以为是假的没法修所以没写(因为点数要最大)想了很久其他做法(走了歪路)都没想到。 开c已经只剩下1h了,根据一道cf ...
分类:
其他好文 时间:
2020-06-04 14:12:25
阅读次数:
57
#include<iostream> #include<cstdio> #include<algorithm> #include<queue> #include<iomanip> #include<cstring> using namespace std; typedef long long ll; ...
分类:
其他好文 时间:
2020-06-04 01:12:55
阅读次数:
61
题目链接 题解 很裸的网络流,加入源点和汇点对二分图求最大匹配,跑最大流就行了 记录方案只需要看对应边的剩余容量是否为0。 查看代码 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn ...
分类:
其他好文 时间:
2020-06-02 19:08:03
阅读次数:
50
二分图问题:首先要用HashMap构造图结构。然后用colors数组表示结染色情况。 遍历N个结点,从N个结点分别出发进行染色尝试,进行递归。 如果结点没有被染色并且不能被染成指定的颜色,返回失败。 对结点的dislike邻居结点进行递归,递归过程中,如果该结点已经被染色,返回是否和想要染的颜色相等 ...
分类:
其他好文 时间:
2020-06-01 19:15:59
阅读次数:
66
#pragma GCC optimize (3,"inline","Ofast") #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll N=505; const ll inf=1e18; ll n, ...
分类:
其他好文 时间:
2020-05-30 12:55:10
阅读次数:
57
二分图(可以带权)中的最大匹配问题,一般图要用带花树 (不会qaq 一些定义 一些定义和性质可能在算法讲解中用不到,但是下面的题目中会用到 二分图:能将原图点集 \(V\) 分成两个集合 \(A,B\),且 \(A\cap B=\emptyset,A\cup B=V\),使得所有边的端点一个在 \( ...
分类:
编程语言 时间:
2020-05-29 21:41:17
阅读次数:
94
//存在一个k,i<j<k,且q[k]<q[i]<q[j] //就不能放在一个栈内 //然后枚举一下所有的i j //如果满足上面的条件,就连一条边 //然后判断是不是二分图 //左边是第一个栈,右边是第二个栈 #include<cstdio> #include<cstring> #include< ...
分类:
其他好文 时间:
2020-05-29 09:29:55
阅读次数:
53
"ACM_ICPC 2017 Asia Nanning M" 求给定的有向无环图,互不到达的最大点集的大小。 $T\le500,\,n\le100,\,m\le n (n 1)/2,\;\sum m\le500000$ 。 做法:对每个点与其能到达的点连边,得到一个新的有向图,对这个有向图求最大二分 ...
分类:
其他好文 时间:
2020-05-21 21:08:28
阅读次数:
64
看大神的代码一脸懵,学了很多新东西,背包理解的太浅了,二分图染色不太会。 /* * cf1354E * 题意: * 给出一个无向连通图,和n1,n2,n3分别表示需要染色1,2,3的节点数量。 * 图不保证连通,并且需要保证一条边的两个节点的色号之差的绝对值为1。 * 请你计算是否存在合理的方案,并 ...
分类:
其他好文 时间:
2020-05-19 01:19:37
阅读次数:
96
链接 题意 给定一张$n$个点,$m$条边的无向图,要求给每个点标为1,2,3中的一个值,使任意一条边上的两个点差的绝对值为1,并且标号为1,2,3的点分别有$n1,n2,n3$个,求一种方案 题解 显然如果存在一组解,那么此图的每一个连通块一定是一个二分图。 $dfs$求出所有的连通块,每一个连通 ...
分类:
其他好文 时间:
2020-05-19 00:23:20
阅读次数:
60