题目链接:https://www.luogu.org/problemnew/show/P4017 DAG + DP include include include include include using namespace std; const int maxn = 500010; const ...
分类:
其他好文 时间:
2018-09-14 23:10:33
阅读次数:
185
"题目传送门" 这个题其实就是tarjan缩点的板子题对吧....至少我是这么想的 首先这是个有向图,对于一个有向图,我们肯定要考虑环的存在与否,恰好这个题又是让我们找出最少的点,使得这几个点能够走遍全图 那么,显然,对于每一个强连通分量,我们看做一个点即可(因为强连通分量中每两个点之间一定能从一个 ...
分类:
其他好文 时间:
2018-09-14 20:33:46
阅读次数:
172
"hdu_4635" 题目大意: 给出一张DAG(n个点,m条边),求出能加的最大边数,使得该图无重边,无自环,非强连通。 题解: 这题题面很好理解,也没有什么很难的点,主要是如何求出最大边数需要动点脑筋。首先要明确一点强连通图不一定是完全图,完全图一定是强连通图。因为完全图定义是任意两点均有连边, ...
分类:
其他好文 时间:
2018-09-09 15:16:52
阅读次数:
220
感觉这题可以模板化。 听说spfa死了,所以要练堆优化dijkstra。 首先对$x_{1},y_{1},x_{2},y_{2}$各跑一遍最短路,然后扫一遍所有边看看是不是同时在两个点的最短路里面,如果是的话就把这条边加到一张新图中去,因为最短路一定没有环,所以最后造出来的这张新图一定是一个$DAG ...
分类:
其他好文 时间:
2018-09-08 14:02:47
阅读次数:
160
题解: [JLOI2015]管道连接 这个很水 比较裸的斯坦纳树dp 斯坦纳树dp就是 g[i][j]表示当前在i点,状态为j 然后转移分为两种 g[i][j]=g[i][k]+g[i][k^j] 另一种是g[i][k]=g[i'][k]+cost 下面这种不满足dag spfa转移 复杂度n*2^ ...
分类:
其他好文 时间:
2018-09-07 01:01:52
阅读次数:
125
基环树森林,然而我比较菜,直接tarjan找环。 发现缩点之后变成了DAG,每一个点往下走一定会走到一个环,缩点之后搜一遍看看会走到哪个环以及那个环的编号是多少,答案就是环的$siz$$ + $要走的路程。 比较垃圾的我忘记了判重边WA了好多发…… 时间复杂度$O(n)$。 Code: #inclu ...
分类:
其他好文 时间:
2018-09-06 02:31:26
阅读次数:
168
P1283 平板涂色 dfs 将矩阵转化为图求解,然后我们发现这是个DAG,于是就可以愉快地跑搜索了。 进行dfs时,我们可以用类似拓扑排序的方法。每次将上面所有矩形都被刷过(入度in[ i ]==0)的满足条件的矩形用h数组打个标记 用incol数组表示目前h数组中有几种颜色,然后枚举可转移状态进 ...
分类:
其他好文 时间:
2018-09-04 01:46:08
阅读次数:
145
一. isinstance(检查第一个参数是否是第二个参数的 子子孙孙类) issubclass(检查的一个参数(对象) 是否是第二个参数(类及父类)的实例) type(获取当前对象是由那个类创建.) 二.方法和函数 称谓: 类. 就是方法 外面的, 就是函数 对象.dag 就是方法 类.aaa 就 ...
分类:
编程语言 时间:
2018-08-30 20:38:21
阅读次数:
168
"传送门" 考虑tarjan缩点,形成一个DAG。若要控制所有间谍,则从所有可以被控制的点出发,可以遍历整个图,否则就是存在无法控制。为了控制所有人,我们需要把入度为0的点的权值相加作为答案。 cpp include include include define MAXN 3005 define M ...
分类:
其他好文 时间:
2018-08-30 11:00:34
阅读次数:
136
最大匹配数:最大匹配的匹配边的数目最小点覆盖数:选取最少的点,使任意一条边至少有一个端点被选择最大独立数(最大团):选取最多的点,使任意所选两点均不相连最小路径覆盖数:对于一个 DAG(有向无环图),选取最少条路径,使得每个顶点属于且仅属于一条路径。路径长可以为 0(即单个点)。定理1:最大匹配数 ...
分类:
其他好文 时间:
2018-08-29 20:05:47
阅读次数:
175