Codeforces Round #373 (Div. 1)

Codeforces Round #373 (Div. 1)

A. Efim and Strange Grade

题意

  • 给一个长为\(n(n \le 2 \times 10^5)\)的小数,每次可以选择某位小数进行四舍五入,最多做\(t(t \le 10^9)\)次。
  • 求最大的数。

思路

  • 每次必然找小数部分能进行四舍五入的最高位,并且四舍五入的位置是递增的。
  • 注意:99.5这样的数据,最高位会进位。

代码


C. Sasha and Array

题意

  • \(N(N \le 10^5)\)个数\(a_i(a_i \le 10^9)\),有\(Q(Q \le 10^5)\)次操作,操作分两种:
  1. 1 l r x,区间[l,r]的值均增加x。
  2. 2 l r,求\(\sum_{i=l}^{r}{f(a_i)}\),其中\(f(x)\)表示第x项斐波那契数。

思路

  • 线段树。
  • 斐波那契数可以用矩阵+快速幂求,当区间增量时,显然再乘上\(A^x\)即可。

代码

posted @ 2016-09-24 22:24  mcginn  阅读(122)  评论(0编辑  收藏  举报