card
给定 \(n\) 张值为 \(i\) 的卡牌,每次随机选择一个整数 \(m\),将每 \(m\) 张合成 \(1\) 张卡牌值加 \(1\),剩下的卡牌丢掉,直到最后只剩下一张牌,求值的期望
题意有些不清楚,首先 \(m\) 张牌合并的意思是将 \(n\) 张牌依次排列,依次把相邻的 \(m\) 张牌只合并 \(1\) 次,新的牌的值就是原来 \(m\) 张牌的值的任意一张加 \(1\) 剩下的丢掉,注意可以自己和自己合并
明确了意思就不难做出来了,显然任何局面下的每张牌面的牌面都一样,所以设 \(E(n)\) 为有 \(n\) 张牌时,每张牌值得期望,则有
\[ E(n)\ =\ \frac{\sum_{i=1}^n[E(\lfloor\frac{n}{i}\rfloor)+1]}{n} \] 化简得
\[ E(n)\ =\ \frac{n+\sum_{i=2}^nE(\lfloor\frac{n}{i}\rfloor)}{n-1} \]
除法分块即可
记忆化搜索时用数组记录状态会快一点
1 |
|
gift
最初 \(Kirin\) 手里拿着一张值为 \(0\) 的卡牌,然后他从第 \(1\) 张卡牌走到第 \(n\) 张卡牌,每次他遇到一张比手里的卡牌等级大的卡牌,他就会交换手中的卡牌与这张卡牌,多次询问 \(x\) 次操作后第 \(y\) 张卡牌的值
当第 \(k\) 次操作时,位于位置 \(i\) 的卡牌若比 \([1,\ i]\) 的第 \(k\) 大卡牌大的情况下位置 \(i\) 的卡牌变为第 \(k\) 大的卡牌,并且在之后操作下依次减小,否则,位置 \(i\) 的卡牌不变,因此,\((x,\ y)\) 的答案为 \(min(xthmax_{1\le k\le y}\lbrace a_k\rbrace,\ a_y)\)
还有一个疑问是,一开始审错题看成冒泡排序了,但是,如何求第 \(k\) 次冒泡排序的第 \(i\) 个位置的值
1 |
|