![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前缀和&差分
文章平均质量分 52
前缀和,差分
今天题目AC了吗.
这个作者很懒,什么都没留下…
展开
-
AcWing 802. 区间和(C++)(离散化)(差分)
接下来,进行 mm 次询问,每个询问包含两个整数 ll 和 rr,你需要求出在区间 [l,r][l,r] 之间的所有数的和。现在,我们首先进行 nn 次操作,每次操作将某一位置 xx 上的数加 cc。假定有一个无限长的数轴,数轴上每个坐标上的数都是 00。再接下来 mm 行,每行包含两个整数 ll 和 rr。接下来 nn 行,每行包含两个整数 xx 和 cc。共 mm 行,每行输出一个询问中所求的区间内数字和。第一行包含两个整数 nn 和 mm。原创 2023-05-16 21:35:20 · 338 阅读 · 0 评论 -
AcWing 798. 差分矩阵(C++)(差分)
输入一个 nn 行 mm 列的整数矩阵,再输入 qq 个操作,每个操作包含五个整数 x1,y1,x2,y2,cx1,y1,x2,y2,c,其中 (x1,y1)(x1,y1) 和 (x2,y2)(x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。接下来 qq 行,每行包含 55 个整数 x1,y1,x2,y2,cx1,y1,x2,y2,c,表示一个操作。−1000≤矩阵内元素的值≤1000−1000≤矩阵内元素的值≤1000。第一行包含整数 n,m,qn,m,q。请你将进行完所有操作后的矩阵输出。原创 2023-05-14 21:36:12 · 463 阅读 · 0 评论 -
AcWing 797.差分(C++)
接下来输入 mm 个操作,每个操作包含三个整数 l,r,cl,r,c,表示将序列中 [l,r][l,r] 之间的每个数加上 cc。−1000≤整数序列中元素的值≤1000−1000≤整数序列中元素的值≤1000。接下来 mm 行,每行包含三个整数 l,r,cl,r,c,表示一个操作。共一行,包含 nn 个整数,表示最终序列。第二行包含 nn 个整数,表示整数序列。第一行包含两个整数 nn 和 mm。输入一个长度为 nn 的整数序列。请你输出进行完所有操作后的序列。原创 2023-05-14 21:33:30 · 506 阅读 · 0 评论 -
AcWing 796. 子矩阵的和 (C++)(前缀和)
输入一个 nn 行 mm 列的整数矩阵,再输入 qq 个询问,每个询问包含四个整数 x1,y1,x2,y2x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来 qq 行,每行包含四个整数 x1,y1,x2,y2x1,y1,x2,y2,表示一组询问。−1000≤矩阵内元素的值≤1000−1000≤矩阵内元素的值≤1000。接下来 nn 行,每行包含 mm 个整数,表示整数矩阵。第一行包含三个整数 n,m,qn,m,q。共 qq 行,每行输出一个询问的结果。原创 2023-05-14 21:29:37 · 290 阅读 · 0 评论 -
AcWing 795. 前缀和(C++)
接下来 mm 行,每行包含两个整数 ll 和 rr,表示一个询问的区间范围。−1000≤数列中元素的值≤1000−1000≤数列中元素的值≤1000。对于每个询问,输出原序列中从第 ll 个数到第 rr 个数的和。接下来再输入 mm 个询问,每个询问输入一对 l,rl,r。第二行包含 nn 个整数,表示整数数列。共 mm 行,每行输出一个询问的结果。第一行包含两个整数 nn 和 mm。输入一个长度为 nn 的整数序列。原创 2023-05-14 21:26:22 · 318 阅读 · 0 评论 -
入阵曲(C++)(前缀和)
如果把一个子矩形用它的左上角和右下角描述为 $(x_1,y_1,x_2,y_2)$,其中$x_1 \le x_2,y_1 \le y_2$;取而代之的,是一个简单的小 问题。这些矩形是符合要求的: (1, 1, 1, 3),(1, 1, 2, 2),(1, 2, 1, 2),(1, 2, 2, 3),(2, 1, 2, 1),(2, 3, 2, 3)。输入接下来 $n$ 行,每行包含 $m$ 个正整数,第 $i$ 行第 $j$ 列表示矩阵中第 $i$ 行第 $j$ 列 中所填的正整数 $a_{i,j}$。原创 2023-04-25 22:41:05 · 480 阅读 · 0 评论 -
Contiguous Repainting(C++)(前缀和)
时间限制: 2.000 Sec 内存限制: 256 MB。原创 2023-04-25 22:37:43 · 492 阅读 · 0 评论 -
Fancy 的区间(C++)(前缀和&差分)
Fancy 每次想两个数字,然后把这两个数字之间(包括这两个数字)的格子涂黑。突然成绩出来了,Fancy 跑去听成绩了,不小心把纸掉在了地上。接下来m行,每行两个数x和y,表示将x 到y之间的格子涂黑。4.输出时区间按左端点排序,且不允许出现前后两个区间可以合并的情况,如 1 3 和 4 5 要输出 1 5;对于100%的数据,1≤n≤1000000,1≤m≤500000,1≤x≤y≤n。输出若干行,每一行两个数x和 y,中间用空格隔开,表示从x到 y 之间是白色的。3.如果只有一个点x,则输出 x x;原创 2023-04-25 18:35:23 · 527 阅读 · 0 评论 -
洛谷P1632 点的移动(前缀和)(C++)
点的移动## 题目描述平面上有 $N$ 个整数坐标点。如果将点 $(x_0,y_0)$ 移动到 $(x_1,y_1)$,则需要的代价为 $|x_0-x_1|+|y_0-y_1|$。求使得 $K(K=1, \cdots ,N)$ 个点在同一位置上最少需要的代价。## 输入格式第一行一个正整数 $N$;接下来 $N$ 行,每行两个正整数 $x_i$ 和 $y_i$,为第 $i$ 个点的坐标,不超过 $10^6$。【数据规模】。原创 2023-04-19 17:58:06 · 62 阅读 · 0 评论 -
洛谷P1387 最大正方形(前缀和)(C++)
最大正方形## 题目描述在一个 $n\times m$ 的只包含 $0$ 和 $1$ 的矩阵里找出一个不包含 $0$ 的最大正方形,输出边长。## 输入格式输入文件第一行为两个整数 $n,m(1\leq n,m\leq 100)$,接下来 $n$ 行,每行 $m$ 个数字,用空格隔开,$0$ 或 $1$。## 输出格式一个整数,最大正方形的边长。## 样例 #1### 样例输入 #1``````### 样例输出 #1```2```原创 2023-04-19 17:34:52 · 93 阅读 · 0 评论