当前位置: 首页 > news >正文

福建平潭建设局网站业务推广公司

福建平潭建设局网站,业务推广公司,wordpress 4.5 中文404,龙华网站建设专业定制企业C. Good Subarrays一、问题二、分析三、代码一、问题 二、分析 这道题目的意思就是给我们一个数组,然后我们从数组中选取一个连续的区间,这个区间满足条件:区间内的元素和等于区间的长度。 对于区间和问题我们先想到的是前缀和的算法。 那…

C. Good Subarrays

  • 一、问题
  • 二、分析
  • 三、代码

一、问题

在这里插入图片描述

二、分析

这道题目的意思就是给我们一个数组,然后我们从数组中选取一个连续的区间,这个区间满足条件:区间内的元素和等于区间的长度。

对于区间和问题我们先想到的是前缀和的算法。

那么题目中的要求可以表示为:s[r]−s[l−1]=r−(l−1)s[r]-s[l-1]=r-(l-1)s[r]s[l1]=r(l1)

移向可得:
s[r]−r=s[l−1]−(l−1)s[r]-r=s[l-1]-(l-1) s[r]r=s[l1](l1)

我们可以构造一个新的数组,d[i]=s[i]−id[i] = s[i] -id[i]=s[i]i

这道题就可以转化为:在iii的左侧有多少等于d[i]d[i]d[i]的元素,这个个数就是我们以iii为右端点的符合条件的区间数目。

三、代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 1e5 + 10;
int a[N], s[N], d[N];
ll ans;
void solve()
{ans = 0;int n;cin >> n;string str;cin >> str;for(int i = 1; i <= n; i ++ ){a[i] = str[i - 1] - '0';s[i] = a[i] + s[i - 1];d[i] = s[i] - i;}unordered_map<ll, ll> cnt;for(int i = 0; i <= n; i ++ ){ans += cnt[d[i]];cnt[d[i]] ++;}cout << ans << endl;
}int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin >> t;while(t --)solve();
}
http://www.ds6.com.cn/news/30704.html

相关文章:

  • 网站页脚写什么人工智能培训心得
  • 跨国购物网站建设费用搜狗搜索旧版本
  • 爱藏网一家专业做收藏品的网站百度seo推广方案
  • 广州企业年报网上申报入口seo快速工具
  • 乌兰察布做网站的公司长尾关键词挖掘精灵
  • 潮州哪里做网站搜索最全的搜索引擎
  • 个人可以做建站网站么东莞网站制作公司
  • 南通专业网站建设公司百度搜索引擎服务项目
  • 网站关键词设置多少合适网络服务合同纠纷
  • 专业网站建设公司网站优化排名优化
  • 巨野有做网站的公司吗西地那非片的功能主治
  • 房天下二手房官网学校seo推广培训班
  • 成都网站建设哪家好seo引擎优化服务
  • 做网站虚拟主机最近热搜新闻事件
  • 番禺网站制作企业百度快照在哪里
  • 哪些网站做高尔夫旅游广告推广软件
  • 家具品牌网站百度识图网页版在线
  • 湖北广盛建设集团网站seo推广要多少钱
  • 会计证初级报考时间2023年报名北京seo服务
  • 制作网站的程序搜索引擎排名规则
  • 做一款网站注意啥在线域名ip查询
  • 邯郸公司做网站搭建一个app平台需要多少钱
  • 黄冈商城网站制作哪家好阿里巴巴官网首页
  • 大连网站优化公司seo主管招聘
  • 厦门响应式网站网站运营怎么做
  • 中企动力做网站多少钱百度网盘客服24小时电话人工服务
  • 做机械出口用哪个网站好网络营销公司排名
  • 软件ui设计怎么做网站seo网站优化
  • django做网站和js做网站名词解释搜索引擎优化
  • 网站改标题关键词描述培训体系