随笔分类 - 图论—拓扑排序
摘要:先跑spfa求出最短路构成的DAG,然后在DAG上跑出支配树dfs出size取max即可 关于支配树,因为是DAG,支配点就是入点在支配树上的lca,所以一边拓扑一边预处理倍增,然后用倍增求lca cpp include include include include include using n
阅读全文
摘要:给出的模型很难搞,所以转换一下,记p[i]为i这个数的位置,然后相邻两个p值差 k的能交换,发现使原问题字典序最小也需要使这里的字典序最小 注意到p值差 include include using namespace std; const int N=3000005; int n,k,a[N],p[
阅读全文
摘要:有个容易混的概念就是第一问的答案不是k[i]字典序最小即可,是要求k[i]大的尽量靠后,因为这里前面选的时候是对后面有影响的(比如两条链a b c d,ka=4,kb=2,kc=3,kd=4,按字典序就先选c然后b就不能合法了) 所以倒着来,建反图,然后按照n k[i]从大到小拓扑,因为是反图所以是
阅读全文
摘要:传送:https://dmoj.ca/problem/ioi17p3 参考:https://blog.csdn.net/qq_27327327/article/details/80711824 妙啊……首先题意就是走到一个包含充电点的环里就能赢 因为出度至少是1,所以如果所有点都能到充电点那么全部是
阅读全文
摘要:有一个想法就是暴力建图,把每个A向有和他相连的B前缀的A,然后拓扑一下,这样的图是n^2的; 考虑优化建图,因为大部分数据结构都是处理后缀的,所以把串反过来,题目中要求的前缀B就变成了后缀B 建立SAM,发现在parent树中每个B能走到的A都在子树中,所以保留这个树结构,连边权为0的边; 然后在p
阅读全文
摘要:ねえ、あいをさけぶのなら
あたしはここにいるよ
阅读全文
摘要:梧桐顶凤有尖爪利吻而不施
冲碧霄一鸣则群禽皆飞至
阅读全文
摘要:誰か名前を呼んで 僕の 突然悲しくなるのは何故
阅读全文
摘要:Generals order their soldiers to kill
And to fight for a cause they've long ago forgotten
阅读全文
摘要:dfs会T,只好正反两遍拓扑了…… cpp include include include include using namespace std; const int N=100005; int n,m,h[N],cnt,d1[N],d2[N]; double f[N],p[N],s[N],ans
阅读全文
摘要:有趣啊 先spfa分别求出以s1,t1,s2,t2为起点的最短路,然后把在s1 t1或者s2 t2最短路上的边重新建有向图,跑拓扑最长路即可 cpp include include include include include using namespace std; const int N=15
阅读全文
摘要:先tarjan缩成DAG,然后答案就变成了最长链,dp的同时计数即可 就是题面太唬人了,没反应过来
阅读全文

浙公网安备 33010602011771号