天哪!!菜到家啦。

数学+思维。

首先求出一个周期内cnt0-cnt1=c的个数,如果C=0,那么只要在一个周期内有前缀等于x,那么答案就是-1,否则答案就是0

如果C!=0,列一下方程x=t*c+a.即x-a=t*c。,要求t为大于等于0的整数,也就是我们的判断条件。。。。唉。

#include<bits/stdc++.h>
using namespace std;
void solve()
{
int cnt1=,cnt0=;
int n,x;
cin>>n>>x;
int ans=;
if(x==) ans++;
string s;
cin>>s;
for(int i=;i<n;i++){
if(s[i]=='') cnt0++;
else cnt1++;
}
int c=cnt0-cnt1;
if(c==){
if(x==){
cout<<-<<endl;
return ;
}
else {
cnt1=;
cnt0=;
for(int i=;i<n;i++){
if(s[i]=='') cnt1++;
else cnt0++;
if(cnt0-cnt1==x) ans++;
}
if(ans>) cout<<-<<endl;
else cout<<<<endl;
}
}
else {
cnt0=;
cnt1=;
for(int i=;i<n;i++){
if(s[i]=='') {
cnt1++;
}
else cnt0++;
int a=cnt0-cnt1;
if((x-a)%c==&&(x-a)/c>=) ans++;
}
cout<<ans<<endl; } return ;
} int main()
{
int t;
cin>>t;
while(t--) solve();
return ;
}

V - Infinite Prefixes CodeForces - 1295B math的更多相关文章

  1. Codeforces 1295B - Infinite Prefixes

    题目大意: 给定一个长度为n的字符串s,由字符0和1组成 你可以让这个字符串s无限延长 就令字符串t=sssssss...... 求字符串t有多少个前缀字符串中,0的个数减去1的个数等于x 解题思路: ...

  2. Educational Codeforces Round 81 (Rated for Div. 2) B. Infinite Prefixes

    题目链接:http://codeforces.com/contest/1295/problem/B 题目:给定由0,1组成的字符串s,长度为n,定义t = sssssss.....一个无限长的字符串. ...

  3. Infinite Maze CodeForces - 196B

    We've got a rectangular n × m-cell maze. Each cell is either passable, or is a wall (impassable). A ...

  4. codeforces 1A - math - ceil

    2017-08-24 15:42:30 writer: pprp 感觉自己好菜啊,这个题都没有做的很好 题意很简单,用a * a 的地砖,将 n * m 的地板铺满,问最少需要多少个地砖? 一开始打算 ...

  5. Codeforces 1062B Math(质因数分解)

    题意: 给一个数n,可以将它乘任意数,或者开方,问你能得到的最小数是多少,并给出最小操作次数 思路: 能将这个数变小的操作只能是开方,所以构成的最小数一定是 $n = p_1*p_2*p_3*\dot ...

  6. N - Aroma's Search CodeForces - 1293D math+greedy

    作为DIV2的D题来讲,这个题目不算难. 题目大意:再规定的时间内寻找宝藏,第i个宝藏的位置为a*x(i-1)+b,a*y(i-1)+b.然后给出初始位置xs,ys和时间t让求再时间t内能够寻找到多少 ...

  7. Educational Codeforces Round 81 (Rated for Div. 2) A-E简要题解

    链接:https://codeforces.com/contest/1295 A. Display The Number 贪心思路,尽可能放置更多位,如果n为奇数,消耗3去放置一个7,剩下的放1 AC ...

  8. HZNU 2019 Summer training 6 -CodeForces - 622

    A - Infinite Sequence  CodeForces - 622A 题目大意:给你一个这样的数列1,1,2,1,2,3,1,2,3,4,1,2,3,4,5....就是从1~n排列(n++ ...

  9. Educational Codeforces Round 81 + Gym 102267

    UPD:变色了!!!历史最高1618~ Educational Codeforces Round 81 (Rated for Div. 2) The 2019 University of Jordan ...

随机推荐

  1. hdu3973 AC's String 线段树+字符串hash

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3973/ 题意是:给出一个模式串,再给出一些串组成一个集合,操作分为两种,一种是替换模式串中的一个字符,还有一种是 ...

  2. Python模块---Wordcloud生成词云图

    wordcloud是Python扩展库中一种将词语用图片表达出来的一种形式,通过词云生成的图片,我们可以更加直观的看出某篇文章的故事梗概. 首先贴出一张词云图(以哈利波特小说为例): 在生成词云图之前 ...

  3. 贪心-谷歌-857. 雇佣 K 名工人的最低成本

    2020-03-15 22:00:39 问题描述: 有 N 名工人. 第 i 名工人的工作质量为 quality[i] ,其最低期望工资为 wage[i] . 现在我们想雇佣 K 名工人组成一个工资组 ...

  4. Spring----注释----开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别

    来源:http://www.cnblogs.com/leiOOlei/p/3713989.html <context:annotation-config> 和 <context:co ...

  5. 【问题解决】-《java.lang.NoClassDefFoundException》

    此问题相比与ClassNotFoundException,不容易找到,当然这两者都属于jvm加载类时的错误.导致 NoClassDefFoundException的原因:编译时不报错,运行时在内存中找 ...

  6. js 拖拽 鼠标事件,放大镜效果

    设置网站播放视频 只有一个是播放的 //需要引入jquery var v = $("video") v.bind("play",function(){ for( ...

  7. Array.forEach原理,仿造一个类似功能

    Array.forEach原理,仿造一个类似功能 array.forEach // 设一个arr数组 let arr = [12,45,78,165,68,124]; let sum = 0; // ...

  8. [noip模拟]小猫爬山<迭代深搜>

    [题目描述]: Freda和rainbow饲养了N只小猫,这天,小猫们要去爬山.经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<). Freda和rai ...

  9. (25+4/25+4)复健-KMP/EKMP/manache/Trie

    (29/29) 3.23已完成  1.KMP int Next[maxn]; void prekmp(char* x,int len){ ,suf=; Next[]=-; while(suf<l ...

  10. 【WPF学习】第六十四章 构建基本的用户控件

    创建一个简单用户控件是开始自定义控件的好方法.本章主要介绍创建一个基本的颜色拾取器.接下来分析如何将这个控件分解成功能更强大的基于模板的控件. 创建基本的颜色拾取器很容易.然而,创建自定义颜色拾取器仍 ...