题意 给你一个n m二维偏序表,代表x[i]和y[j]的大小关系,根据表构造大小分别为n,m的x[],y[],使得两个数组中最大的数尽量小 题解 按照偏序表,构造出从小到大的拓扑图 如何解决相等的数的偏序关系? 用并查集缩点后再进行拓扑排序 如何解决最大的数最小? 只需要使得同一层的数相同就行,可以 ...
分类:
编程语言 时间:
2019-03-11 13:45:13
阅读次数:
161
文末有福利。 Tarjan是通过搜索树和压栈完成的,维护两个东西:dfn[i](时间戳)、low[i](通过搜索树外的边i(返祖边),节点能到达的最小节点的时间戳)。 跑完Tarjan,缩点,可以得到DAG图(有向无环图),可以再建图或统计入度出度。 在有向图中,可以找强连通分量SCC(极大强联通子 ...
分类:
其他好文 时间:
2019-03-09 23:59:47
阅读次数:
294
A:求出该行该列各有多少个比其小的取max,该行该列各有多少个比其大的取max,加起来即可。 B:kmp求出最长border,贪心的每次利用这个border制造新子串即可。 C:场上写了1h假题意。终于看懂题之后又被之前假题意的做法带偏了。考虑拆点,建出新图后缩点,跑最长链即为答案。因为由图的特殊性 ...
分类:
其他好文 时间:
2019-03-09 01:27:14
阅读次数:
244
/* 给定无向图,求加入一条边后最少剩下多少桥 */ #include using namespace std; #define maxn 200005 #define maxm 1000005 struct Edge{int to,nxt,cut;}edge[maxm>n>>m,n){ init(... ...
分类:
其他好文 时间:
2019-03-03 09:56:25
阅读次数:
133
/* 强连通分量内的点可以互相传送,可以直接缩点 缩点后得到一棵树 第一问的答案是零入度点数量, 第二问: 加多少边后变成强连通图 树上入度为0的点有p个,出度为0的点为q,那么答案就是max(p,q) 如果缩点后是一个点,答案就是0 */ #include #include #include #i... ...
分类:
其他好文 时间:
2019-03-02 22:24:45
阅读次数:
183
题目链接 "P3387 【模板】缩点" 解题思路 这几天搞图论,好有趣hhh,多写几篇博客。 上次学$Tarjan$求割点,这次缩点。 思路大概是多一个栈和染色的步骤,每次$Tarjan$的时候把点入栈,如果某个点(比较像割点但不完全是)的$DFS$子树都搜不到它祖宗,那么接下来进行的遍历操作必然与 ...
分类:
其他好文 时间:
2019-02-27 16:15:32
阅读次数:
190
强连通分量 定义:有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。有向图的极大强连通子图,称为强连 ...
分类:
其他好文 时间:
2019-02-25 18:50:51
阅读次数:
160
题目简述:给定$n \leq 3 \times 10^5$个节点的树,其中一部分节点被染色,一共有$k$种不同的颜色。求将树划分成 $k$ 个不相交的部分的方案数,使得每个部分中除了未染色的节点以外的所有节点颜色相同,答案模$998244353$(质数)。 解:code Step 1. 缩点 相关题 ...
分类:
其他好文 时间:
2019-02-23 14:45:17
阅读次数:
252
好久没写题解了嘻嘻嘻,昨天补edu自闭了一天还没补完fg这div3令人愉悦。 F2不会。 待补,感觉不太好写,打算看一下别人代码。 队友说是 缩点+dp 卡D卡了有点久。快一个半小时才7题。。。 A: 1 #include <bits/stdc++.h> 2 #define mk(a,b) make ...
分类:
其他好文 时间:
2019-02-20 10:01:37
阅读次数:
104
Warm up Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 9073 Accepted Submission(s): 2120 题目链接:h ...
分类:
其他好文 时间:
2019-02-18 01:24:57
阅读次数:
175