【HPU 1415: 小ho的01串】& 尺取
2017-08-14 17:49
344 查看
1415: 小ho的01串 [字符串]
时间限制: 1 Sec 内存限制: 128 MB
提交: 269 解决: 131 统计
题目描述
有一个由0和1组成的字符串,它好长呀——–一望无际
恩,说正题,小ho的数学不太好,虽然是学计算机的但是看见0和1也是很头疼的,
现在他的老师想让他计算出来包含K个1的子串有多少个—–呀,头要炸了!!!
小ho知道你的数学棒棒哒,所以来找你帮忙了。
输入
第一行是一个数K。
第二行是一个字符串str。
0 < |str| ≤ 106
输出
一个数S,代表了满足条件的个数。
样例输入
2
101010
样例输出
6
来源
Leibniz_Zhang
用数组记录下 1 的下标,维护区间 [l,r] 中 1 的个数为 k,这个区间的贡献等于 (a[l] - a[l - 1] )* (a[r + 1] - a[r]),会出现 010100 的情况在末尾加个 1 即可,k == 0, 相当于求 1 与 1 之间 0 的组合
AC代码:
时间限制: 1 Sec 内存限制: 128 MB
提交: 269 解决: 131 统计
题目描述
有一个由0和1组成的字符串,它好长呀——–一望无际
恩,说正题,小ho的数学不太好,虽然是学计算机的但是看见0和1也是很头疼的,
现在他的老师想让他计算出来包含K个1的子串有多少个—–呀,头要炸了!!!
小ho知道你的数学棒棒哒,所以来找你帮忙了。
输入
第一行是一个数K。
第二行是一个字符串str。
0 < |str| ≤ 106
输出
一个数S,代表了满足条件的个数。
样例输入
2
101010
样例输出
6
来源
Leibniz_Zhang
用数组记录下 1 的下标,维护区间 [l,r] 中 1 的个数为 k,这个区间的贡献等于 (a[l] - a[l - 1] )* (a[r + 1] - a[r]),会出现 010100 的情况在末尾加个 1 即可,k == 0, 相当于求 1 与 1 之间 0 的组合
AC代码:
#include<cstdio> #include<cmath> #include<cstring> #include<algorithm> using namespace std; const int MAX = 1e6 + 10; typedef long long ll; int k,a[MAX]; char s[MAX]; void solve(int o){ ll l = 1,r = 0,ans = 0,sum = 0; a[0] = -1; for(int i = 0; i <= o; i++) if(s[i] == '1'){ a[++r] = i,sum++; if(sum == k + 1) ans += (a[l] - a[l - 1]) * (a[r] - a[r - 1]),l++,sum--; } printf("%lld\n",ans); } int main() { while(~scanf("%d %s",&k,s)){ ll o = strlen(s),l = 0,r = 0,ans = 0; s[o] = '1'; if(!k){ for(int i = 0; i <= o; i++) if(s[i] == '1') r = i - l,l = i + 1,ans += r * (r + 1) / 2; printf("%lld\n",ans + (r + 1) * r / 2); } else solve(o); } return 0; }
相关文章推荐
- HPU 1415 小ho的01串 (字符串)
- HPU1415 小ho的01串(字符串,河南省多校连萌(三))
- hpu1415——小ho的01串
- HPU1415--小ho的01串
- HPUoj 1415: 小ho的01串 [字符串]
- 1415: 小ho的01串 [字符串]
- HPUoj 1415(小ho的0 1串)
- 1415: 小ho的01串 [字符串]
- hpu暑假训练C - Patrick and Shopping 【思维】&&【水题】
- 多校联萌(三)小ho的01串
- HPU1411-- QAQ & ORZ 的签到题
- [HPU - 1411] QAQ & ORZ 的签到题
- [bzoj1415][Noi2005]聪聪和可可 期望DP+记忆化搜索 & bzoj100题
- 51NOD-1391 01串(预处理&&枚举)
- hpu暑假训练F - Pasha and Stick 【思维】&&【水题】
- hpuoj 1699: 回文串问题 (回文字符串&manacher)
- HPU 1410: QAQ & 火星情报局 ( 数学
- [HPU - 1412] QAQ & 君临天下 || 天行九歌
- BZOJ 1415 NOI2005 聪聪和可可 期望DP+记忆化搜索 BZOJ200题达成&&NOI2005全AC达成
- hpu 1206 Diamond <这道题有坑>