随笔分类 - 图论 -- Tarjan(强连通分量)
摘要:link 题目大意 有$n$个时间安排,可以安排到$2$个时间,问是否可以将时间错开,若能,输出一种方案。 试题分析 $O(n^2)$暴力判断两者是否能在同一个时间安排,若有两段时间$(u,v)$是不能安排在一起的,则连边$(u,v'),(v,u')$,然后就一个彻彻底底是一个板子了。 #inclu
阅读全文
摘要:link 题目大意 给你几个二进制运算的结果,求是否有解。 试题分析 $2-SAT$板子吧,其实主要就是在$2-SAT$中我们连边是对于选择$u$点后必须选择$v$点才连$(u,v)$。 然后就$tarjan$判断两点是否在一个强连通分量中。 #include<iostream> #include<
阅读全文
摘要:link 如果没有环的话其实就是一个比较水的树形背包。但是现在有环,并且当我们选择环中任何一点时其他环上的点也都要被选择,然后就可以缩点解决环的问题。 然后缩点后会形成一个森林,我们建虚点$0$连向各自联通块的根,然后做一个树上背包即可 #include<iostream> #include<cst
阅读全文
摘要:link 线段树优化建图,再跑$tarjan$已成$DAG$,然后反跑拓扑排序即可,因为最小的反倒是连边连的最多的地方,即使方向两边入读为$0$的点,然后在随便跑个计数$dp$即可 #include<iostream> #include<cstdio> #include<cstring> #incl
阅读全文
摘要:tarjan的运用 this is a problem:link 2-SAT处理的是什么 首先,把「2」和「SAT」拆开。SAT 是 Satisfiability 的缩写,意为可满足性。即一串布尔变量,每个变量只能为真或假。要求对这些变量进行赋值,满足布尔方程。 所以看这道题 若ai为真或aj为真,
阅读全文

浙公网安备 33010602011771号