CF1398C. Good Subarrays(思维 前缀和)

简介: CF1398C. Good Subarrays(思维 前缀和)

linkkkk

题意:

求满足∑ i = l r a i = r − l + 1的子区间个数。

思路:

开始写了个降智代码;

实际上令b i = a i − 1,那么式子就变成了∑ i = l r b i = 0

经 典 题

记录一下这个小思维

代码:

// Problem: C. Good Subarrays
// Contest: Codeforces - Educational Codeforces Round 93 (Rated for Div. 2)
// URL: https://codeforces.com/problemset/problem/1398/C
// Memory Limit: 256 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=1e5+100;
int n,a[maxn];
map<ll,ll>mp;
int main(){
  int _;cin>>_;
  while(_--){
    cin>>n;
    for(int i=1;i<=n;i++) scanf("%1d",&a[i]),a[i]--;
    ll ans=0,sum=0;
    mp.clear();
    mp[0]=1;
    for(int i=1;i<=n;i++){
      sum+=a[i];
      ans=ans+mp[sum];
      mp[sum]++;
    }
    cout<<ans<<endl;
  }
  return 0;
}
目录
相关文章
|
4月前
|
人工智能 BI
CF 1561 D. Up the Strip(数学+思维)
【7月更文挑战第5天】
51 10
|
5月前
CF 1538 G. Gift Set (贪心+思维)
【6月更文挑战第14天】
36 0
|
机器学习/深度学习 算法
CF1029A Many Equal Substrings(kmp!!!!最通俗易懂的文章模板)
CF1029A Many Equal Substrings(kmp!!!!最通俗易懂的文章模板)
52 0
|
数据库管理
CF1547B Alphabetical Strings(了解字符串的的一些规律)
CF1547B Alphabetical Strings(了解字符串的的一些规律)
77 0
|
机器学习/深度学习
CF1304B Longest Palindrome(可逆转符号,数学分析,回文串)
CF1304B Longest Palindrome(可逆转符号,数学分析,回文串)
44 0
|
机器学习/深度学习
CF189A Cut Ribbon(dp一维思想,完全背包最详细解析)
CF189A Cut Ribbon(dp一维思想,完全背包最详细解析)
80 0
|
文件存储
Easy Number Challenge(埃式筛思想+优雅暴力)
Easy Number Challenge(埃式筛思想+优雅暴力)
83 0
P2852 [USACO06DEC]牛奶模式Milk Patterns 后缀数组(poj3261)
P2852 [USACO06DEC]牛奶模式Milk Patterns 后缀数组(poj3261)
96 0
每日一题---1005. K 次取反后最大化的数组和[力扣][Go]
每日一题---1005. K 次取反后最大化的数组和[力扣][Go]
每日一题---1005. K 次取反后最大化的数组和[力扣][Go]
牛客hot100--BM88---判断是否为回文字符串(入门难度)
牛客hot100--BM88---判断是否为回文字符串(入门难度)
95 0
牛客hot100--BM88---判断是否为回文字符串(入门难度)