HBC22562824点,代码量大,搜索减枝,搜索智乃酱的静态数组维护问题多项式题解 (智乃在学习了前缀和之后,学会了先进行若干次区间加数操作)

云中君 算法基础篇 58 0
想要成为编程高手?那就来试试全网最全C++题库,让您在练习中快速成长。
智乃在学习了前缀和以后,学会了先进行若干次区间加数操作,然后进行若干次查询,每次查一段[l,r]{[l,r]}[l,r]的区间和, 现在有一个长度大小为N{N}N的数组,数组中有一些非负整数,请你完成区间加若干次多项式的操作,最后进行若干次区间查询和的操作, 具体来讲,接下来会进行M{M}M次修改操作,每次将会给你一个k{k}k次多项式f(x)=c0xk+c1xk1+..

智乃在学习了前缀和以后,学会了先进行若干次区间加数操作,然后进行若干次查询,每次查一段[l,r]{[l,r]}[l,r]的区间和。 现在有一个长度大小为N{N}N的数组,数组中有一些非负整数,请你完成区间加若干次多项式的操作,最后进行若干次区间查询和的操作。 具体来讲,接下来会进行M{M}M次修改操作,每次将会给你一个k{k}k次多项式f(x)=c0xk+c1xk−1+...+ck−1x1+ck{f(x)=c_0x^k+c_1x^{k-1}+...+c_{k-1}x^1+c_{k}}f(x)=c0​xk+c1​xk−1+...+ck−1​x1+ck​,以及一段需要操作的目标数组区间[l,r]{[l,r]}[l,r]。 然后你需要对al+f(1),al+1+f(2)...a_l+f(1),a_{l+1}+f(2)...al​+f(1),al+1​+f(2)...以此类推,也就是对目标区间的第一个数字加上一个f(1){f(1)}f(1),第二个数字加上f(2){f(2)}f(2)... 在做完这些操作以后,还会进行Q{Q}Q次查询操作,每次查询一段[l,r]{[l,r]}[l,r]的区间元素和,因为这个数字可能很大,你只用输出其对109+7{10^9+7}109+7取余数后的结果即可。

HBC22562824点,代码量大,搜索减枝,搜索智乃酱的静态数组维护问题多项式题解
(智乃在学习了前缀和之后,学会了先进行若干次区间加数操作)-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
成为编程大师,不再是梦想!全网最全C++题库,助您开启编程新篇章。

标签: HBC22562824点 代码量大 搜索减枝 搜索智乃酱的静态数组维护问题多项式题解