首页 > TAG信息列表 > CF718C

CF718C Sasha and Array

题目大意 在本题中,我们用 \(f_i\) 来表示第 \(i\) 个斐波那契数 \(f_1=f_2=1,f_i=f_{i-1}+f_{i-2}(i\ge 3)\)。 给定一个 \(n\) 个数的序列 \(a\)。 有 \(m\) 次操作,操作有两种: 将 \(a_l\sim a_r\) 加上 \(x\)。 求 \(\displaystyle\left(\sum_{i=l}^r f_{a_i}\right)\bmod (1

CF718C Sasha and Array

Description 洛谷传送门 Solution 转移方程就是斐波那契数列求和,题目里也都给了。 矩阵也比较基础吧,不写了。 但是这道题需要用到线段树维护矩阵乘法。 听着挺吓人的,其实也没有多难。 我们首先建一棵矩阵类型的线段树。 然后 \(build\) 为初始输入的斐波那契数(即 \(f^{A - 1}\),因

[CF718C] Sasha and Array - 线段树,矩阵乘法

[CF718C] Sasha and Array - 线段树,矩阵乘法 Description 用 \(f_i\) 来表示第 \(i\) 个斐波那契数,给定一个 \(n\) 个数的序列 \(a\)。有 \(m\) 次操作,操作有两种:将 \(a_l\sim a_r\) 加上 \(x\);求 \(\displaystyle\left(\sum_{i=l}^r f_{a_i}\right)\bmod (10^9+7)\) Solution 如

CF718C Sasha and Array [线段树+矩阵]

我们考虑线性代数上面的矩阵知识 啊呸,是基础数学 斐波那契的矩阵就不讲了 定义矩阵 \(f_x\) 是第 \(x\) 项的斐波那契矩阵 因为 \(f_i * f_j = f_{i+j}\) 然后又因为 \(\texttt{AB+AC=A(B+C)}\) 所以 \(\sum_{i=l}^{r} f(a_i+x) = f(x)\sum_{i=l}^{r} f(a_i)\) 线段树板子题,维护一

【题解】 CF718C Sasha and Array

\(Description:\) 设计一个数据结构,支持区间加,区间求斐波那契和,比如求\(\sum_{i=l}^{r} f(a_i)\) \(Sample\) \(Input:\) 5 4 1 1 2 1 1 2 1 5 1 2 4 2 2 2 4 2 1 5 \(Sample\) \(Output:\) 5 7 9 考虑想段树上每个节点维护一个矩阵,因为矩阵满足结合律: \(a*c+b*c=(a+b)*c\)

题解】[CF718C Sasha and Array]

【题解】CF718C Sasha and Array 对于我这种喜欢写结构体封装起来的选手这道题真是太对胃了\(hhh\) 一句话题解:直接开一颗线段树的矩阵然后暴力维护还要卡卡常数 我们来把\(2 \times 2\)看做之后时间复杂度就是\(O(nlogn)\)。 写了一点点这种线段树维护除了数字之外的东西的题目,一