A. Little Pony and Crystal Mine
模拟题. 用矩阵直接构造或者直接根据关系输出
B. Little Pony and Sort by Shift
模拟题。
通过提供的操作得到的序列只能是两段递增或者整个序列递增。
那么可以求得第一段递增序列长度为0…p
如果整个序列是递增,即 p= n-1 那么操作次数就是0.
否则,假设是两段递增,把原始的序列恢复出来,设当前序列是AB,那么A就是0…p
BA = (A'B')', '表示对序列进行翻转,
如果BA是有序的,那么需要的操作数就是n-p-1.否则是没法得到,输出-1.
时间复杂度为O(n)
C. Little Pony and Sort by Shift
数学题,快速幂取模
给m个面的骰子扔n次,求期望点数的最大值。
样例很明显,对与一般化情况通过组合数学方法,我们可以得到:
如果最大值为1,1出现的次数只有1.
如果最大值为2,2出现的次数有
如果最大值为3,2出现的次数有
如果最大值为4,2出现的次数有
......
如果最大值为2,2出现的次数有
每一次出现的概率都是
那么期望值就是
化简后可以得到
含幂项可以通过快速幂取模的方法来求,所以总的时间复杂度为O(mlogn)