[[https://namomo.top:8081/contest/1|比赛传送门]] 赞美namomo! ======A sort====== * 题意:给你一段排序的代码,相当于操作一次排序$b$个,每次从第一位开始操作,直到第$n-b+1$位,重复$a$次,询问对于给定的$n,a,b$是否能将任意$n$项数列排好序。 * 题解:考虑最小的在最右边,如果不能排序成功,显然最小的无法移动到最左边,根据代码可以看出最小的每次移动距离是一个定值,计算出来移动$a$次能否到达第一个以及左边的位置即可 ======B hat====== * 题意:$n$个帽子,$m$次交换帽子位置的操作,已知$k$次操作的编号和操作的两个帽子序号,并且最初兔子在$1$号帽子里,求最后每个帽子里有兔子的概率 * 题解: * 对于已知的操作,直接$swap$两个位置概率即可 * 对于未知的操作,假设一个位置的概率是$p$ * 未被选中时,贡献为$(n-2)*p/n$ * 被选中时,应该为$2/n$乘上其余概率的平均值,即$(1-x)/(n-1)$ * 就化为区间操作问题了,线段树搞一搞就好