图排列 笔记

很牛逼的一个题,深刻感受到官方比赛题目含金量远高于模拟赛追忆除外

感觉判定方式可以更优,有很多重复无用的思考。

拿到这档分,应该就进 CQ 省队了。

树的话比较简单,观察大样例结合手玩,可以发现:

  • 一棵树用最小的点当根。
  • 每个子树内的点编号是连续的。
  • 过程一定形如:找到子树内最小点,递归访问子树;访问完往上走的时候,要先一次访问父亲及其子树,直到最后全部搞完。

整个过程可以求出 \(f_x\) 表示 \(x\) 子树内最小值,并对儿子的 \(f_x\) 排序,这样就做完了树。

森林

可以根据样例手玩,两个连通块的编号不能相交,那么一定是:访问到某个点时,发现访问另一个连通块的根更优,跳过去访问完之后,再回来继续做。

可以用栈模拟,拼一下阶乘 52 分就拿到了。

仙人掌

先想想仙人掌,可以发现环上的点相对顺序必须是连续的,其它的访问流程没怎么变。

手画一下,可以发现点双一定能被简化成一个环,这样就转化成了仙人掌,因为如果出现有交叉边的情况就一定是无解的。

找点双里的环,因为图的性质,一定是一个广义串并联图,就套一下板子用链表维护即可。

复杂度大概是单 \(\log\)

posted @ 2026-03-05 11:16  CTHOOH  阅读(4)  评论(0)    收藏  举报