那个夏天,大家在小镇的树荫下约定:一定要找到最适合的秘密基地。
小镇中有 个地点,由 条小路连接,任意两个地点之间都存在唯一一条简单路径。因此,这些地点和小路构成了一棵无根树,地点编号为 到 。
每天,大家会按照一个顺序依次来到小镇中的所有地点。这个顺序用一个长度为 的排列 表示,其中 表示第 个被访问的地点。
如果选择地点 作为秘密基地,就可以把整棵树以 为根。此时,对于两个不同地点 ,如果 位于从 到 的简单路径上,则称 是 的祖先。
大家认为,如果某个地点先被访问,而它的某个祖先后被访问,就会产生一次``暴露风险''。形式化地,对于一个秘密基地 ,定义危险度 为满足以下条件的二元组 的数量:,且在以 为根时, 是 的祖先。
也就是说, 表示在当前访问顺序下,有多少对地点满足:后出现的地点是先出现地点的祖先。
可是,时间不断流逝,大家的计划也会发生变化。接下来有 次操作,每次操作给定一个整数 ,表示交换访问顺序中相邻的两个地点 和 。
在所有操作前,以及每次操作后,你都需要重新选择一个最合适的秘密基地,使危险度尽可能小,并输出这个最小危险度。