
拓扑排序
ylsoi
这个作者很懒,什么都没留下…
展开
-
[Hnoi2018]游戏——拓扑排序
Description:一次小G和小H在玩寻宝游戏,有n个房间排成一列,编号为 1,2,...,n1,2,...,n1,2,...,n ,相邻的房间之间都有一道门。其中一部分们上锁(因此需要有对应的钥匙才能开门),其余的门都能直接打开。现在小G告诉了小H每把锁的钥匙在哪个房间里(每把锁锁有且只有一把钥匙与之对应),并作出p次指示:第i次让小H从第 SiSiS_i 个房间出发到 TiTiT_i ...原创 2018-05-15 22:14:56 · 589 阅读 · 0 评论 -
[loj2316][NOIP2017]逛公园——拓扑排序+dp
题目大意:给定一个有向图,求从1到n的路径长度不大于mindis[n]+K的路径条数。思路:很容易想到DP,设dp[i][j]为到第i个点长度比最短路大j的路径的条数,每一个点向后面的点转移即可。 发现一个性质,就是转移的时候j必定是单调不递减的,也就是如果某一条转移不是沿着最短路走的话就必定不会在转移图中出现环。如果一条环上都可以是沿着最短路走的话就会出现环,不难发现这种情况就是0...原创 2018-08-18 15:48:50 · 383 阅读 · 0 评论 -
2-SAT算法学习笔记
2-SAT:好像大概是这么一个东西,有一些集合,每个集合中有两个元素(ai,bi)(ai,bi)(a_i,b_i),然后要求你从每一个集合中选出一个元素,但是同时对于集合元素的选取是有一些限制的,比如说什么选了aiaia_i和ajaja_j必须选一个,或者选了aiaia_i就必须选bjbjb_j之类的。 然后我们发现上面所有的限制条件都可以转化为一类,即选了aiaia_i就必须选择bjbjb...原创 2018-08-19 14:43:40 · 1224 阅读 · 0 评论 -
[uoj317][NOI2017]游戏——2-SAT
题目大意:小 L 计划进行 n 场游戏,每场游戏使用一张地图,小 L 会选择一辆车在该地图上 完成游戏。 小 L 的赛车有三辆,分别用大写字母 A、B、C 表示。地图一共有四种,分别用小 写字母 x、a、b、c 表示。其中,赛车 A 不适合在地图 a 上使用,赛车 B 不适合在地 图 b 上使用,赛车 C 不适合在地图 c 上使用,而地图 x 则适合所有赛车参加。适合所 有赛车参加的...原创 2018-08-19 14:57:42 · 372 阅读 · 0 评论 -
[zjoi2012]灾难——拓扑排序+灭绝树
题目大意:草原中有一张食物网,如果将一种动物弄死,将会有一些动物没有食物而死亡,那么称死亡动物的种类数为这种动物的灾难值。求每一种动物的灾难值。n≤65534n\leq 65534n≤65534,输入数据≤\leq≤ 10M。思路:题目可以转化为将DAG删除一个结点后有多少个结点变得不可达不难发现,整张食物网其实是构成了一个树形结构,即直接导致某种动物死亡的动物有且只有一种。某一个结点...原创 2018-10-27 14:41:47 · 332 阅读 · 0 评论 -
[bzoj3832]Rally——拓扑排序+堆
题目大意:给定一个N个点M条边的有向无环图,每条边长度都是1。请找到一个点,使得删掉这个点后剩余的图中的最长路径最短。思路:首先我们加一个超级源S和一个超级汇T,然后整个题目就变成了求S−>TS->TS−>T的最长链。计算出S到每一个点的最长路和每一个点到T的最长路,这样我们就可以很方便地算出来经过任意一条边的最长路了。考虑到删除一个点之后新的最长链一定...原创 2018-10-27 14:45:17 · 221 阅读 · 0 评论 -
[bzoj4010][HNOI2015]菜肴制作——拓扑排序
题目大意:给定一个有向图,求拓扑序使得每一个数的位置序列的字典序最小。思路:要求小的数尽量靠前,考虑从后填数,也就是按照反图的拓扑序来从后往前填,既然小的数尽量往前,那么最后一个位置就尽量要大的数,依次类推可得最终的答案应该满足反过来的序列字典序最大。#include<bits/stdc++.h> #define REP(i,a,b) for(int i=a,i##_end...原创 2018-12-05 19:29:49 · 169 阅读 · 0 评论