
拓扑排序
Mys_C_K
人生有许多道:曾经踏足的是道,即将踏往的也是道,那什么才是道呢?唯有脚下走的才是道。一切精神或者物质都归于虚无,然后从混沌中衍生出三万道。在悲喜间涉足一条无数前人经历过,且将有无数后人奔赴的道,无论是否已经或者将要到达彼岸,然后便不再回头或是左顾右盼,即使有些道繁盛至极,夜灯如昼,无数人一浪又一浪的涌去,造就了世人皆知的辉煌;即使有些道草木凋敝,荒草丛生,只等勇敢的开拓者斩开荆棘,创造一片天地;这些都无所关,无所在意,彼岸何如、来日何方甚至过往旧事都化作一缕云烟,飘渺碧霄,我自撷高山之月色,独随足落处往行。
展开
-
[SDOI2010]BZOJ 1924所驼门王的宝藏-强连通分量-缩点-拓扑排序-dp
题目链接:右转进入题目 题目大意:自行参考题目 题解:tarjan缩点后拓排一下dp乱搞即可。 代码://BZOJ 1924 //SDOI 2010 #include #include #include #include #include #include #include #define MAXN 100010 #define MAXRC 1000010 using namespace s原创 2017-04-25 16:59:18 · 536 阅读 · 0 评论 -
BZOJ3036-绿豆蛙的归宿-概率与期望-DP
传送门 题解:略。 printf("%.2f")是四舍五入么QwQ //BZOJ 3036 #include #include #include #include #define MAXN 100010 using namespace std; struct node{ int to,val; node(int _to,int _val) { to=_to; val=_val原创 2017-05-20 12:12:41 · 476 阅读 · 0 评论 -
[HNOI 2015]BZOJ 4010菜肴制作-拓扑排序
传送门 题目大意自行参考 题解: 首先一个基本的思路是从小到大查看i,然后把制作i需要提前制作的j按照字典序从小到大拓扑排序,然后这相当于是在反图上做字典序最大的拓扑排序。 我就是这么做的,字典序拓扑排序可以用一个堆维护,就是有多个选择的时候选择字典序最值是最优的。 看到好像其实就是反图的最大字典序拓扑排序?QwQ 代码://BZOJ 4010 //HNOI 2015 #inc原创 2017-06-11 12:42:29 · 389 阅读 · 0 评论 -
codeforces 917B MADMAX 拓扑排序 - 动态规划 - 博弈论
传送门 题目大意:给你一张有向无环图,边权是字母。 对于每一对(s,t),按照如下规则,求当第一个人在s第二个人在t的时候谁有必胜策略。规则是,两人轮流移动,每次移动的边权不能小于上一次移动的边权。不能移动的人输。n 题解:DAG,考虑dp。两个人博弈论,考虑令f[x][y][c]表示第一个人在x第二个人在y上一次边权是c,当前是第一个人要走,能否赢。g同理,表示第二个人。按照拓扑序转移即可。原创 2018-01-30 20:40:06 · 576 阅读 · 0 评论 -
bzoj 3832 [Poi2014]Rally - 线段树 - 并查集
对拓扑序建线段树,每条边等价于一个区间覆盖,没了 #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #include<climits> #include<queue&am原创 2018-06-25 09:07:07 · 257 阅读 · 0 评论 -
大包子玩游戏 - 结论题 - 强连通分量 - 拓扑排序
题目大意:给你一张有向图,每次随机从剩下的点中选择一个,删掉这个点以及其能够到达的点。问期望几次能把整张图删光。n≤1000n\le1000n≤1000 题解: 根据期望的线性性,考虑每个点对答案有1的贡献的概率,即其有多大的概率会被选择,显然等价于能够删掉他的点都在他之后被删掉,那么概率显然是1s\frac{1}{s}s1,其中s为能够到达它的点的数量。这样tarjan缩点后跑一个bitset...原创 2018-10-05 12:37:49 · 216 阅读 · 0 评论 -
游戏 - 博弈论
题目大意: 给你一张DAG,每个点有个系数k[x],多次询问,每次询问给你每个点的点权。 两个人轮流操作,每次操作形如选择一个点权大于0并且有出边的点x,使其点权val[x]–,并在其出边中选择恰好k[x]个点(可以重复)点权++。不能操作者输,问先手是否必胜。记所有点出度的最大值是v。n≤100,m≤1700,q≤1000,v≤17,T≤20n\le100,m\le1700,q\le1000,v...原创 2018-10-15 14:19:20 · 354 阅读 · 0 评论 -
[2017 山东一轮集训 Day5]LOJ 6071 字符串 - SAM - 拓扑排序
题目大意:给你n个小写字符串s1…sns_1\dots s_ns1…sn,问有多少字符串ttt是可接受的。一个串t是可接受的当且仅当存在t=p1+⋯+pnt=p_1+\cdots+p_nt=p1+⋯+pn,满足pip_ipi是sis_isi的子串。 题解:显然对每个串构造SAM,每个节点若不存在字符c的出边就向后面第一个初始节点有c出边的SAM的的初始节点的c出边连边然后跑一个拓扑排序...原创 2019-03-13 16:45:23 · 478 阅读 · 0 评论