摘要:
题面传送门 我再不判图联通我是sb! 我们可以先跑出这个图的一个生成森林,然后在生成森林上跑。 如果两个环叠在一起那么肯定是有解的,就是两个环的交集的两个端点。 所以我们让每条非树边往上打标记,碰到标记说明有环重叠。 然后把两个环拿出来处理一下就好了。 时间复杂度$O(n)$ code: #incl 阅读全文
摘要:
题面传送门 太神了。这道题。 考虑先两次拓扑找到$d1$为起点到这个点的最长路,$d2$为这个点开始的最长路。 然后按照拓扑序操作点。 如果我们将操作过的点设为$A$集合,没有操作过的点设为$B$集合,那么最长路只可能是以下三种: A集合内部,B集合内部,A集合到B集合。 前面两个很好维护,第三个在 阅读全文