Per Aspera Ad Astra
2021.09.06模拟赛
A.都市
考虑要升序输出,把升序的答案数组记作
先把所有的数字排个序,前两个数字必然是 和
但是第三个数字不一定是 ,但只要知道了 是谁就可以直接找出来所以的数字了
所以直接枚举 是谁就可以递推了,复杂度
B. 争辩
很妙的题目
仔细考虑题目中的限制条件,先考虑 是一个排列的情况,比较明显的能发现逆序对数每次减少 或 个
所以当且仅当它的逆序对数是奇数它是不优美的
而 不是一个排列的话,我们可以用那个重复的元素任意的减少逆序对数(我死在这里)
所以只需要算出来 和 然后 就是所有不优美的和
这个东西叫 积和式 无多项式复杂度做法,但是给出的矩阵很特殊,是一个下三角矩阵加上一条对角线
考虑如果是下三角矩阵显然是所有对角线元素的积
但是加上这一条对角线后就需要考虑其他情况
设大小为 的这种矩阵的积和式为
考虑选了第一行的第一个数,有
如果选了第二个
下一行就要选两个蓝色的位置,第一个是 ,第二个需要继续讨论
所以就可以递推下去
加了一条对角线的 也可以这么算
C.Prime
区间筛板子
D.Hunter
因为期望具有线性性,所以考虑每个人在 之前死的概率求和 即可
答案为
部分分极具误导性