题目链接:https://codeforc.es/contest/1186/problem/C

题目大意:xxxxx(自认为讲不清。for instance)

  例如:a="01100010" b="00110"。

  我们把a截到b的长度就有4个字串。

  a1=01100 a2=11000 a3=10001 a4=00010

  f(s1,s2)表示是s1与s2异或后1的个数

  题目要求每个a子串与b的f(ai,b)的值为偶数的个数。

ps:暑假第一天,签到写个稍微简单一点的题

思路:

  如果在例子中b串是"00000"。那么题目变为求ai的1的个数为偶数的个数

  这里我们用前缀和来求就非常好了。

  a1= 01100 符合题意

  a2= 11000 符合题意

  a3= 10001 符合题意

  a4= 00010 不符合题意

  前缀和应该会吧。O(1)就可以知道和。然后判断一下奇偶就好了

  

  但是b串不一定是"00000"

  这时我们看一下如果b="00100"会怎么样?

  a1= 01000 不符合题意

  a2= 11100 不符合题意

  a3= 10101 不符合题意

  a4= 00110 符合题意

  所以,我们可以得出当b串的1的个数为奇数是我们求a子串的1的个数为奇数的个数

  反之,求偶数的个数

  愉快的贴代码^-^

  

#include <bits/stdc++.h>
using namespace std;
#define N 1000100 int x[N];
int ser=;
signed main()
{
ios::sync_with_stdio(false);
string s,ss;
cin>>s>>ss; for(auto&c:s){
int a=(c=='');
x[++ser]=a;
x[ser]+=x[ser-];
} int b=;
for(auto&c:ss){
b^=(c=='');
}
int Ans=;
for(int i=ss.size();i<=ser;i++){
//cout<<x[i]<<" "<<x[i-ss.size()]<<endl;
Ans+=!((x[i]-x[i-ss.size()])&)^b;
}
cout<<Ans;
return ;
}

  

codeforces 1186C Vus the Cossack and Strings的更多相关文章

  1. Vus the Cossack and Strings(Codeforces Round #571 (Div. 2))(大佬的位运算实在是太强了!)

    C. Vus the Cossack and Strings Vus the Cossack has two binary strings, that is, strings that consist ...

  2. CodeForces - 1186 C. Vus the Cossack and Strings (异或)

    Vus the Cossack has two binary strings, that is, strings that consist only of "0" and &quo ...

  3. Codeforces F. Vus the Cossack and Numbers(贪心)

    题目描述: D. Vus the Cossack and Numbers Vus the Cossack has nn real numbers aiai. It is known that the ...

  4. C Vus the Cossack and Strings ( 异或 思维)

    题意 : 给你两个只包含 0 和 1 的字符串 a, b,定义函数 f ( A, B ) 为 字符串A和字符串B 比较 存在多少个位置 i 使得 A[ i ] != B[ i ] ,例如 f(0011 ...

  5. Codeforces 1186F - Vus the Cossack and a Graph 模拟乱搞/欧拉回路

    题意:给你一张无向图,要求对这张图进行删边操作,要求删边之后的图的总边数 >= ceil((n + m) / 2), 每个点的度数 >= ceil(deg[i] / 2).(deg[i]是 ...

  6. @codeforces - 1186F@ Vus the Cossack and a Graph

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个 n 点 m 边的图(n, m<=10^6),记第 ...

  7. Codeforces Round #571 (Div. 2)-D. Vus the Cossack and Numbers

    Vus the Cossack has nn real numbers aiai. It is known that the sum of all numbers is equal to 00. He ...

  8. E. Vus the Cossack and a Field (求一有规律矩形区域值) (有一结论待证)

    E. Vus the Cossack and a Field (求一有规律矩形区域值) 题意:给出一个原01矩阵,它按照以下规则拓展:向右和下拓展一个相同大小的 0 1 分别和原矩阵对应位置相反的矩阵 ...

  9. 『Codeforces 1186E 』Vus the Cossack and a Field (性质+大力讨论)

    Description 给出一个$n\times m$的$01$矩阵$A$. 记矩阵$X$每一个元素取反以后的矩阵为$X'$,(每一个cell 都01倒置) 定义对$n \times m$的矩阵$A$ ...

随机推荐

  1. 解读sam格式文件

    1,SAM文件格式介绍 SAM(The Sequence Alignment / Map format)格式,即序列比对文件的格式,详细介绍文档:http://samtools.github.io/h ...

  2. 跨域 (3) window.name

    window对象有一个name属性,该属性有一个特征:即在一个窗口的生命周期内,窗口载入的所有的页面都是共享一个window.name的,每一个页面对window.name都有读写的权限,window ...

  3. WPF 多个选项卡TabControl 页面分离

    此项目源码下载地址:https://github.com/lizhiqiang0204/TabControl-page-separation 每个页面的按键处理事件直接对应该页面下的cs文件 Main ...

  4. iOS自定义键盘的简单实现

    自定义键盘类VolumeInputKeyboardView: VolumeInputKeyboardView.h文件: #import <UIKit/UIKit.h> NS_ASSUME_ ...

  5. ios获取系统当前日期并以一定格式显示

    NSDate *date=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] init]; [dateform ...

  6. HTML5基础——笔记

    HTML5基础——笔记 近几年来,互联网+.大数据.云计算‘物联网‘虚拟现实‘人工智能.机器学习.移动互联网等IT相关新名词.新概念层出不穷,相关产业发展如火如荼.互联网+移动互联网已经深入到人民日常 ...

  7. tensorflow版本介绍

    软件的生命周期中一般分4个版本,RC 和 Beta分别是其中2种.如下是4种的解释: alpha版:内部测试版.α是希腊字母的第一个,表示最早的版本,一般用户不要下载这个版本,这个版本包含很多BUG, ...

  8. MySQL的(@i:=@i+1)用处及用法

    今天写一个为查询的数据排序列号的SQL语句,整理出来下面的笔记: 这是语法:   SELECT (@i:=@i+1),t.* FROM table_name t,(SELECT @i:=0) AS j ...

  9. hibernate多对一单项关联映射

    1.实体类编写: 用户类: public class User { private int id; private String name; private Group group; ..... } ...

  10. 总结 webpack 的插件

    模块化第一步  初始化 package.json 文件 node.js 指令 npm init npm的官网:https://www.npmjs.com/ 搜索插件名,查看插件的用法 1. webpa ...