二阶

\[\sum_{i=l}^{r} \sum^{i}_{j=1} a_j
\]
\[=\sum_{i=l}^{r} (r-i+1) a_i
\]
\[=(r+1)\sum_{i=l}^{r} a_i+\sum_{i=l}^{r} i \cdot a_i
\]

这个很好理解,因为对于第 \(i\) 个数,他加了 \((r-i+1)\) 次

三阶

正常拆解

\[\sum_{i=l}^{r} \sum^{i}_{j=1} \sum_{k=1}^{j} a_k
\]
\[=\sum_{i=l}^{r} \sum_{j=1}^{i} (i-j+1) a_j
\]
\[=\sum_{i=l}^{r} {\Large (}(i+1) \cdot \sum_{j=1}^{i} a_j - \sum_{j=1}^{i} j \cdot a_j{\Large )}
\]
\[=\sum_{i=l}^{r} {\Large (} (i+1) \cdot \sum_{j=1}^{i} a_j {\Large )} - \sum_{i=l}^{r} \sum_{j=1}^{i} j \cdot a_j
\]

直接拆开可得(可用数学归纳法):

\[\sum^{r}_{i=l} \frac{(r-i+1)(r+i+2)}{2} a_i - \sum_{i=l}^{r} i \cdot (r-i+1) a_i
\]

合并,得:

\[\sum^{r}_{i=l} \frac{(r-i+1)(r-i+2)}{2} a_i
\]

展开,得:

\[\sum^{r}_{i=l} \frac{r^2+i^2-2ri-3i+2}{2} a_i
\]

即:

\[\frac{1}{2}\sum^{r}_{i=l} i^2 \cdot a_i -\frac{2r+3}{2} \sum^{r}_{i=l} i \cdot a_i + \frac{r^2+2}{2}\sum^{r}_{i=l} a_i
\]

即维护 \(\sum^{r}_{i=l} i^2 \cdot a_i\),\(\sum^{r}_{i=l} i \cdot a_i\),\(\sum^{r}_{i=l} a_i\) 即可

另一种方法

\[b_i=\sum_{j=1}^i a_j
\]

然后原式化为:

\[\sum_{i=l}^{r} \sum^{i}_{j=1} b_j
\]

同2阶,展开:

\[(r+1) \cdot \sum_{i=l}^{r} b_i - \sum_{i=l}^{r} i \cdot b_i
\]

然后把

\[b_i=\sum_{j=1}^i a_j
\]

代入得:

\[(r+1) \cdot \sum_{i=l}^{r} \sum_{j=1}^i a_j - \sum_{i=l}^{r} i \cdot \sum_{j=1}^i a_j
\]

其中 \(\sum_{i=l}^{r} \sum_{j=1}^i a_j\) 是不是很眼熟!

展开得:

\[(r+1) \cdot \sum_{i=l}^{r} (r-i+1) a_i - \sum_{i=l}^{r} i \cdot (r-i+1) a_j
\]

然后就是同第一种方法得到答案啦!

n阶可以类推

n阶前缀和 の 拆解的更多相关文章

  1. LuoguP5488 差分与前缀和

    题意 给定一个长为\(n\)的序列\(a\),求出其\(k\)阶差分或前缀和.结果的每一项都需要对\(1004535809\)取模. 打表找规律 先看前缀和,设\(n=5\),\(k=4\),按照阶从 ...

  2. 前缀和的n个神奇操作

    前情回顾 前缀和的基础用法戳这里->传送门 众所周知,简单的前缀和解决的一般都是静态查询的问题,例如区间和.区间积等 操作的时候也很简单,就是根据需要来维护一个数组,每次查询的时候就用到tr[r ...

  3. 另一道不知道哪里来的FFT题

    给定一个序列,求出这个序列的k阶前缀和,模998244353,n<=1e5. k阶前缀和可以看成一个一个n*k的平面上的二维行走问题. 第i项对第j项的贡献是从(i,0)走到(j,k)的NE L ...

  4. loj#6261. 一个人的高三楼(NTT+组合数学)

    题面 传送门 题解 统计\(k\)阶前缀和,方法和这题一样 然后这里\(n\)比较大,那么把之前的柿子改写成 \[s_{j,k}=\sum_{i=1}^ja_i{j-i+k-1\choose j-i} ...

  5. CF223C【Partial Sums】(组合数学+乱搞)

    题面 传送门 题解 orz zzk 考虑这东西的组合意义 (图片来自zzk) \(a_i\)这个元素对\(k\)阶前缀和的第\(j\)个元素\(s_{k,j}\)的贡献就等于从\((0,i)\)走到\ ...

  6. JZOJ 5922. sequence

    5922. [NOIP2018模拟10.23]sequence (File IO): input:sequence.in output:sequence.out Time Limits: 1000 m ...

  7. [jzoj NOIP2018模拟10.23]

    丢分主要是下面几个方面: 1.T2代码交错了,有个特判没写丢了10分 2.T1线段树加等差数列写错了(其实二维差分就可以,但我当时不会) 3.T3思考再三还是为了10分写上了主席树,还是写错了 总体评 ...

  8. [NOIP2018模拟赛10.23]发呆报告

    闲扯 考场看了眼题目感觉很难,一个小时敲完了所有暴力...嗯然后就在那里发呆什么事也没做 T3考场上把数据结构想了个遍都不会完成1操作,现在看这种思路其实之前也接触过... 比较玄学的一件事情就是T1 ...

  9. 2020牛客寒假算法基础集训营1 J题可以回顾回顾

    2020牛客寒假算法基础集训营1 这套题整体来说还是很简单的. A.honoka和格点三角形 这个题目不是很难,不过要考虑周全,面积是1,那么底边的长度可以是1也可以是2, 注意底边1和2会有重复的, ...

  10. FFT/NTT复习笔记&多项式&生成函数学习笔记Ⅰ

    众所周知,tzc 在 2019 年(12 月 31 日)就第一次开始接触多项式相关算法,可到 2021 年(1 月 1 日)才开始写这篇 blog. 感觉自己开了个大坑( 多项式 多项式乘法 好吧这个 ...

随机推荐

  1. ansible系列(26)--ansible的tags标签

    目录 1. tags标签 1.1 指定执行某个tags 1.2 指定排除某个tags 1. tags标签 默认情况下, Ansible 在执行一个 playbook 时,会执行 playbook 中所 ...

  2. Javascript返回顶部和砸金蛋,跑马灯等游戏代码实现

    1. 我们经常写页面的时候会遇到页面很长需要做返回顶部的操作:$("id /class").animate({scrollTop:$('.class').offset().top} ...

  3. Vben-admin---ApiSelect Invalid prop: type check failed for prop "onUpdate:value". Expected Function, got Array

    在basicFrom组件里添加一个ApiSelect, <template #localSearch="{ model, field }"> <ApiSelect ...

  4. C语言:使用链式栈检测txt文件中的括号匹配

    便捷目录 前言 本程序最终会完成的任务 栈的理解 代码运行过程的解释 说明 ==代码思想 (重要部分)== 全局变量和结构体代码 进栈:创建链表空间函数 出栈:删除链表空间函数 释放申请的链式栈空间 ...

  5. Aliplayer通过HLS流式播放Aliyun Mps(媒体处理)转码的加密视频

    前言 公司需求,上传的视频需要加上公司Logo,同时播放需要采用流式播放禁止下载. 现有的环境在阿里云上,所以自然想到了阿里云的产品[媒体处理]的转码功能. 转码配置 配置比较简单,采用阿里云HLS标 ...

  6. IPv6 — 协议头

    目录 文章目录 目录 前文列表 IPv6 协议头格式 扩展报头 前文列表 <IPv6 - 网际协议第 6 版> <IPv6 - 地址格式与寻址模式> IPv6 协议头格式 IP ...

  7. 解决“在windows里的记事本里编辑的汉字文本文件,上传到linux服务器上出现乱码“问题

    目录 一.前期准备 二.编码转换 一.前期准备 1.首先在windows环境下打开记事本,然后创建一个包含汉字和英文的文本文件,输入内容"测试在windows里的记事本里编辑的文本文 件,上 ...

  8. linux wget命令的重要用法:下载文件并保存,后台下载

    Linux wget命令是一个下载文件的工具,它用在命令行下. #从网络下载一个文件并保存在当前目录 [root@node5 ~]# wget http://cn.wordpress.org/word ...

  9. Java中双括号初始化是个什么操作

    最近在阅读Mybatis源码的时候,看到了一种原来很少见到的语法: public class RichType { ... private List richList = new ArrayList( ...

  10. 5分钟明白LangChain 的输出解析器和链

    本文介绍 LangChain 的输出解析器OutputParser的使用,和基于LangChain的LCEL构建链. 1. 输出解析器OutputParser 1.1.为什么需要OutputParse ...