Codeforces Round #373 (Div. 1)

Codeforces Round #373 (Div. 1)

A. Efim and Strange Grade

题意

  • 给一个长为(n(n le 2 imes 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)即可。

代码

原文地址:https://www.cnblogs.com/mcginn/p/5904301.html