o_o 当前时间是:

4:01:54 AM

 

CF2002 D1/2

CF2002 D1/2

题意描述

给定一棵有根树和一个排列。每次操作交换排列里两个数,每次操作后回答这是否是一个合法的 DFS 序列。

做法

考虑排列里相邻两个数 \((a,b)\),如果 \(a\)\(b\) 的父亲,贡献为 1;如果 \(a\)\(b\) 的父亲的子树内,贡献也为 1。其他情况贡献为 0。

容易发现,当总贡献为 \(n-1\) 的时候,这是个合法的 DFS 序列。

可以 \(O(n+q)\) 维护。

posted @   zzafanti  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
浏览器标题切换
浏览器标题切换end
点击右上角即可分享
微信分享提示