
前缀和
不哭的超人
愿你孤独的努力终有回报,愿你前行的路上有人相伴。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
P1714 切蛋糕(线段树+前缀和)
P1714 切蛋糕 解题思路:求连续区间不超过k的最大值。先求出前缀和,线段树维护前缀和,在一个长度为k的区间,找到前缀和最小的,用最后的值减去这个值,得到的就是在这个区间里的最大值。如果长度不能到达k,从1寻找就可以了。 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long double lf; typedef pair<int,int>P; const int inf = 0原创 2020-12-01 19:42:52 · 220 阅读 · 0 评论 -
P2294 [HNOI2005]狡猾的商人(带权并查集+前缀和)
P2294 [HNOI2005]狡猾的商人 解题思路:这里用带权并查集记录每个节点与自己祖先的距离。如果两个点没有相同的祖先,那么需要把这两个集合合并起来,用已经的点确定p点到q的距离,num[p] = num[t]-w-num[s];这个很重要。如果两个点有共同的祖先,那么判断一下两个点之间的距离是不是w就可以了。 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int原创 2020-11-11 22:46:08 · 318 阅读 · 0 评论 -
Parenthesis
Parenthesis 解题思路:线段树+前缀和。计算出前缀和,’(‘就加一,’(‘就减一。考虑三种情况,如果是s[x]==s[y]或者s[x]= =’)’&&s[y]= = ‘(’,那么就直接是yes。对于s[x]= = ‘(’&&s[y]= =’)’,判断在[x,y)的最小的前缀和-2如果<0,就是no,要不然就是yes. #include <bits/stdc++.h> using namespace std; typedef long long ll原创 2020-11-03 20:39:41 · 300 阅读 · 0 评论 -
序列卷积之和
题目:序列卷积之和 题解:这题打表找规律,然后用前缀和。 每对i*j出现了多少对。 第一行相当于(a[1]*4+a[2]*3+a[3]*2+a[4]*1)*1 第二行相当于(a[2]*3+a[3]*2+a[4]*1)*2 第三行相当于(a[3]*2+a[4]*1)*3 … #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int>P; const int inf =原创 2020-05-23 13:47:17 · 1286 阅读 · 0 评论 -
牛妹吃豆子
题目:牛妹吃豆子 题解:这道题用的二维差分和二维前缀和。 前缀和与差分 #include <bits/stdc++.h> #include <cstdlib> using namespace std; typedef long long ll; typedef pair<int,int>P; const int N = 2005+10; const ll mod...原创 2020-04-19 20:25:26 · 369 阅读 · 0 评论