AGC014
D Black and White Tree
先手选一个叶子节点的父亲染成白色,后手必须选这个叶子,然后模拟即可。
E Blue and Red Tree
如果合法,每一步一定存在一个只被一条红路径覆盖的蓝边,每次去掉这条边即可。
F Strange Sorting
容易发现 \(1\) 不会影响 \([2,n]\) 的排序。
考虑从 \([i,n]\) 的答案推出 \([i-1,n]\)。(后面假设是 \([2,n]\) 推出 \([1,n]\))
设 \(T(i)\) 表示 \([i,n]\) 需要的步数。
如果 \(T(2)=0\),如果 \(1\) 就在最开头 \(T(1)=0\),否则 \(T(1)=1\)。
如果 \(T(2)>0\),还是考虑 \(1\) 的位置,如果 \(1\) 在 \(T\) 步以后移动到了开头,则 \(T(1)=T(2)\),否则 \(T(1)=T(2)+1\)。
考虑 \(T-1\) 步以后,第一个位置一定不是 \(2\),否则第 \(T\) 步 \(2\) 就会移动到后面去。
设第一个位置是 \(x\),如果位置关系为 \((x,1,2)\),第 \(T\) 步以后 \(1\) 就在开头。
考虑一个性质:
\((x,1,2)\) 这 \(3\) 个元素的相对循环位置不会改变,即如果一开始是 \((x,1,2)\) 则不管怎么操作,相对位置一定是 \((x,1,2)\) 或 \((1,2,x)\) 或 \((2,x,1)\)
证明要用到另一个性质:
只考虑 \([2,n]\) 的数,\(x\) 除了出现在第一个位置时,不会作为被移动的元素
如果作为被移动的元素则和他一起移动的,他前面那个元素就和他绑定在一起了。
然后证明上述性质:
- 第一个是 \(x\),\(1,2\) 都不会移动,\((x,1,2)\to(1,2,x)\)
- 第一个是 \(2\),\(1,x\) 都不会移动,\((2,1,x)\to(1,x,2)\)
- 第一个是 \(1\)
- 第二个是 \(2\),\((1,2,x)\to(x,1,2)\)
- 第二个是 \(x\),\((1,x,2)\to(2,1,x)\)
- 其他情况,\((1,x,2)\to(x,2,1)\)
- 其他情况,\(1,2,x\) 都不会移动
有了这个性质以后,因为要求第 \(T-1\) 步以后相对关系为 \((x,1,2)\),所以只需要看初始序列 \(x,1,2\) 的相对关系就好了。
从 \(T(n)\) 倒着递推,同时维护 \(x\) 变量。