Codeforces Round #370 (Div. 2)

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. 1 i a b,把第\(i\)个赌场到胜率设为\(p_i=\frac{a}{b}\)
  2. 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)\)
posted @ 2016-09-12 22:48  mcginn  阅读(121)  评论(0编辑  收藏  举报