Codeforces Round #370 (Div. 2)
E.Memory and Crow
题意
- 有(N(N le 10^5))个赌场。
- Memory在第(i)个赌场有(p_i)的概率获胜并走向(i+1)个赌场。
- 有(Q(Q le 10^5))次操作,操作有两种:
- 1 i a b,把第(i)个赌场到胜率设为(p_i=frac{a}{b})
- 2 l r,求Memory从赌场(l)开始,最后获胜走到(r+1)的概率。
思路
D.Memory and Scores
题意
- 两个人玩一个游戏,轮流进行,每个玩家每回合随机获得([-k,k])中的一个分数,其中(1 le k le 1000)。
- 已知两个人的起始分数,求进行(t(t le 100))轮游戏((2t)个回合)后,第一个玩家的分数严格大于第二个玩家的方案数,modulo (10^9+7)。
思路
- 两个玩家的得分相互独立,所以单独考虑一个玩家最后的得分即可。
- 根据题目条件,最后的总得分最值为(pm 10^5),用(f(i,j))表示进行(i)回合后玩家得分为(j)的方案数,转移:$$f(i,j)=sum_{l=j-k}^{j+k}{f(i-1,l)}$$每次转移可以维护一个长度为(k)的区间和,时间复杂度为(O(kt^2))
C.Memory and De-Evolution
题意
- 给一个长为(x)的正三角形,每次可以改变三角形的一条边,使得新的三条边仍构成三角形,最后变成一个长为(y)的正三角形,求最少的步数。
- 题目保证(x gt y)
思路
- 考虑从正三角形(y)变成正三角形(x)。
- 每次改变边长时,都尽量让最短的边变最长。
- 假设当前的边长为(a le b le c),则令(a=min(x, c - b + 1))。