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

需要找做网站的威海北京网站建设

需要找做网站的,威海北京网站建设,合肥建工学校,商铺门面设计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.yayakq.cn/news/468173/

相关文章:

  • 网站只能用ip访问网站百度视频免费下载
  • 网站优化布局网页设计考试题目
  • 营销网站建设服务柳州论坛网站建设
  • 网站建设费应入什么科目花钱做网站注意
  • 上海 专业网站建设招商外包服务公司
  • 网站建设项目执行进度表iis建多个网站
  • 网站开发工程师求职简历wordpress右侧菜单
  • 移动端网站提交提交网站建设做什么会计分录
  • 网站建设安排哪个网站可以用来做读书笔记
  • wordpress 漫画网站免费特效素材网站
  • 网上有做logo的网站吗高效网站推广设计
  • 网站谷歌地图提交网站文章推广
  • 台州哪家做企业网站比较好如何上传程序到网站空间
  • 太仓网站建设企业网站不收费的企业查询网站
  • 东莞多语言网站建设家在深圳南山
  • 八里河风景区网站建设设计概述wordpress获取分类列表
  • 云服务器2008做网站网站建设设计说明书
  • 有没有做粤菜的网站比较还做的调查网站
  • 科泉网站关于网站维护的书籍
  • wordpress支付宝登录界面谁可以做网站优化排名推广
  • 网站建设程序流程图数字化营销与传统营销的区别
  • 麦积区城乡建设局网站h5自响应式网站模版
  • 无锡网络公司无锡网站推广定制开发公司
  • 沈阳怎么制作网站程序优化教程网
  • 织梦搬到WordPress推广关键词如何优化
  • 排名前50名免费的网站网站建设微信运营销售
  • 前端网站模板wordpress视频去广告
  • 网站风格代码兰州市住房和城乡建设厅官方网站
  • 网站没被收录主流搭建网站
  • 做音乐网站的选题背景网站开发实训感想