前缀和
幽殇默
他时若遂凌云志,敢笑黄巢不丈夫。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C. Pluses and Minuses 【1300 / 思维 前缀和】
https://codeforces.com/problemset/problem/1373/C #include<bits/stdc++.h> using namespace std; typedef long long int LL; const int N=1e6+10; LL s[N]; void solve(string ss) { LL res=0,n=ss.size(); for(int i=0;i<n;i++) { if(ss[i]=='+') s[i+1].原创 2021-11-13 16:45:22 · 489 阅读 · 0 评论 -
A. Flipping Game【1200 / 前缀和】
https://codeforces.com/problemset/problem/327/A #include<bits/stdc++.h> using namespace std; int a[105],s[105],ss[105],n; int main(void) { cin>>n; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=n;i++) s[i]=s[i-1]+a[i]; int an.原创 2021-10-23 22:39:32 · 118 阅读 · 0 评论 -
B. Fence【1100 / 前缀和】
https://codeforces.com/problemset/problem/363/B #include<bits/stdc++.h> using namespace std; const int N=1e5*2+10; int a[N],s[N],n,k,ans=1e9,flag; int main(void) { cin>>n>>k; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<.原创 2021-10-23 09:25:59 · 142 阅读 · 0 评论 -
1732. 找到最高海拔【差分 前缀和】
https://leetcode-cn.com/problems/find-the-highest-altitude/ 差分的定义,求一下前缀和就是原数组的各个数。在前缀和里求一个最大值即可。 class Solution { public: int largestAltitude(vector<int>& gain) { int ans=0,sum=0; for(int i=0;i<gain.size();i++) .原创 2021-10-09 10:11:28 · 179 阅读 · 0 评论 -
1588. 所有奇数长度子数组的和【前缀和】
https://leetcode-cn.com/problems/sum-of-all-odd-length-subarrays/ class Solution { public: int sumOddLengthSubarrays(vector<int>& arr) { vector<int>ve; ve.push_back(0); int sum=0; for(int i=0;i<arr.size(.原创 2021-10-08 09:23:51 · 103 阅读 · 0 评论 -
1480. 一维数组的动态和【前缀和】
https://leetcode-cn.com/problems/running-sum-of-1d-array/ class Solution { public: vector<int> runningSum(vector<int>& nums) { vector<int>ans; int sum=0; for(int i=0;i<nums.size();i++) sum+=nums[i],ans..原创 2021-10-07 08:07:34 · 101 阅读 · 0 评论 -
1413. 逐步求和得到正数的最小值【前缀和】
https://leetcode-cn.com/problems/minimum-value-to-get-positive-step-by-step-sum/ ans>=1 ans+s1>=1 -> ans>=1-s1 ans+s1+s2>=1 -> ans>=1-(s1+s2) 以此类推,找到一个最大的,可以包含所有区域的。 class Solution { public: int minStartValue(vector<int>&.原创 2021-10-06 10:02:05 · 132 阅读 · 0 评论 -
724. 寻找数组的中心下标【前缀和】
https://leetcode-cn.com/problems/find-pivot-index/ class Solution { public: int pivotIndex(vector<int>& nums) { int n=nums.size(); vector<int>ve; int s=0; ve.push_back(0); for(int i=0;i<nums.size();i+原创 2021-10-05 09:24:58 · 102 阅读 · 0 评论 -
303. 区域和检索 - 数组不可变【前缀和】
https://leetcode-cn.com/problems/range-sum-query-immutable/ class NumArray { public: vector<int>s; NumArray(vector<int>& nums) { s.push_back(0); int temp=0; for(int i=0;i<nums.size();i++) { .原创 2021-10-04 17:20:13 · 95 阅读 · 0 评论 -
【2021.5.26】 3574. 乘积数量
题目地址 只需要记录每一个数的正负号即可,求每一个前缀的正号的个数。 #include<cstdio> #include<iostream> using namespace std; typedef long long int LL; const int N=1e5*2+10; LL f[N],s[N];// f该位是正,负 s正的个数的前缀和 int main(void) { LL n; cin>>n; f[0]=1; for(int i=1;i<=n;i.原创 2021-06-14 15:32:09 · 144 阅读 · 0 评论 -
【2021.5.11】3493. 最大的和
题目链接 考察的知识点: 前缀和 双指针 方法一: 纯的前缀和做法 时间复杂度O(n) 需要额外的两个前缀和数组来维护 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int N=1e5+10; int a[N]; int b[N]; long long int s[N];//默认全选的前缀和 long long int ss[N];//按照.原创 2021-06-04 13:47:16 · 147 阅读 · 0 评论 -
1530. 最短距离 【一维前缀和 处理环形】
https://www.acwing.com/problem/content/description/1532/ 再在后面复制相同的一份就可以了。 此时2->1 有两种方式,我们求其最小的距离。 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int N=1e5*2+10; int a[N],s[N],n,q; int main(void) { .原创 2021-05-17 22:41:36 · 286 阅读 · 0 评论 -
acwing 3127. 来,骗 【一维前缀和板子题】
https://www.acwing.com/problem/content/description/3130/ #include<cstdio> #include<iostream> using namespace std; const int N=1e6+10; int a[N],s[N],q,n; int main(void) { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i].原创 2021-05-17 22:12:05 · 167 阅读 · 0 评论
分享