AGC010E Rearranging
题意:给出一个长度为
玩家 A 会将序列
玩家 A 希望最终序列的字典序尽量小,而玩家 B 希望最终序列的字典序尽量大,问最终序列。
咋这一场 DEF 都是博弈……
先考虑在给定序列后玩家 B 会如何操作。
对于那些不互质的数,操作后相对顺序不会改变。不难发现,这也是方案合法的充要条件。
于是,对于每一组不互质的对子
现在求该
根据“字典拓扑原理”,用堆贪心地进行拓扑排序,每次取点权最大的点扩展即可。
然后,考虑 A 的对策。
对于每一组不互质的对子
对于每个联通块,我们令权值最小的点
这样能保证第一个点一定是权值最小的点。反之,若有多个零度点,则第一个点可以不是权值最小的点,更劣。
在定向时,从
将
若不优先前往权值较小的儿子,可能该分支与其他分支联通,造成这个儿子访问顺序必晚于某个更大的数,更劣。
若不连通,则先走谁没关系。“优先前往权值较小的儿子”这一策略能保证每个联通分量先被遍历到可能的最小点,故是最优的,
确定了图之后,跑 B 的贪心即可。
复杂度