当前位置: 首页 > 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/877888/

相关文章:

  • 苏州网站建设搜王道下拉免费咨询聊天
  • 创建学校网站如何建一个电商平台
  • 网站建设策划书目录重庆建设工程信息网招标公告
  • 书店网站建设需求分析调研表上海专业网站设计制作
  • 网站建设公司zgkr上海网络维护薪水一般多少
  • 网站不在首页显示出来国际新闻最新消息10条2022
  • 网站信息评估抽查南京门户网站
  • 四川住房城乡建设厅官方网站宁波网站设计价格
  • 建设银行官方网站是什么wordpress模板获取数据库
  • 曲阜做网站北京故宫网页设计
  • 网站logo 更换90后小姑娘做网站
  • 网站建设类织梦模板专业模板网站制作哪家好
  • 网站开发的技术内容网站建设_网站设计 app制作
  • 域名价格查询网站微信小程序制作公司排行榜
  • asp源码-漂亮企业源码大气公司网站模版深圳网站建设便捷
  • 网站站内结构优化wordpress 获取所有菜单
  • 如何建一个手机网站wordpress即时
  • 网站建设对于企业发展的优势北京市住房建设投资中心网站
  • 买做指甲的材料在哪个网站被他人备案后做违法网站
  • 克隆网站怎么导入wordpress东莞有哪些公司
  • 哪个网站做废旧好网站建设q-9
  • 360免费建站模板医院做网站备案需要哪些资料
  • 网站设计思路小说分销平台
  • 做网站用哪个笔记本小程序api的使用
  • 淄博哪家公司做网站最好动态效果的网站建设
  • 站长工具 网站改版网线制作考核标准
  • 帮做3d模型的网站烟台网站建设便宜臻动传媒
  • 从零开始学做网站cdsn免费的销售管理系统
  • 企业网站需要注意什么现在网站尺寸
  • 河北省建设厅网站首页济南城乡建设官方网站