题目链接: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. cnblogs博客使用LaTeX公式

    $ Entropy\ H(X) = -\sum p(X)\log p(X) $ $ Information\ Gain\ I(X,Y)= H(X)-H(X|Y) $ $ \pi $ = 3.14159 ...

  2. java高并发核心要点|系列3|锁的底层实现原理|ABA问题

    继续讲CAS算法,上篇文章我们知道,CAS算法底层实现,是通过CPU的原子指令来实现. 那么这里又有一个情景: 话说,有一个线程one从内存位置V中取出A,这时候另一个线程two也从内存中取出A,并且 ...

  3. POJ-1904-King‘s Quest

    链接: https://vjudge.net/problem/POJ-1904 题意: Once upon a time there lived a king and he had N sons. A ...

  4. Java——序列化 反序列化

    记录一下: 先粘两个比较繁琐的方法: put: public void putSerializableObject(String key, Object value, int expireTime) ...

  5. Nmap使用及常见的参数选项

    概要 当Nmap不带选项运行时,该选项概要会被输出,最新的版本在这里http://www.insecure.org/nmap/data/nmap.usage.txt.它有助于人们记住最常用的选项,但不 ...

  6. 4. ClustrixDB CLX命令详解

    Clustrix提供了一个名为clx的实用程序来管理其分布式ClustrixDB数据库. 命令在 /opt/clustrix/bin/ 下面 sudo su - clxm 用户即可使用 clx hel ...

  7. ubuntu 7z解压

    安装方法:     sudo apt-get install p7zip 解压文件:     7z x manager.7z -r -o /home/xx 解释如下: x 代表解压缩文件,并且是按原始 ...

  8. POJ 3660 Cow Contest 任意两点之间的关系 Floyd

    题意:牛之间有绝对的强弱,给出一些胜负关系,问有多少头牛可以确定其绝对排名. #include <iostream> #include <cstdio> #include &l ...

  9. [LibreOJ 3120]【CTS2019】珍珠 【生成函数】【计数】

    Description Solution 有一个直观的思路是考虑每种颜色个数的奇偶性,奇数个数的颜色不能超过\(n-2m\) 因此若\(n-2m\geq D\)则答案一定是\(D^n\) 否则由于每种 ...

  10. QML 与 C++ 交互

    前言 文档如是说,QML旨在通过C ++代码轻松扩展.Qt QML模块中的类使QML对象能够从C ++加载和操作,QML引擎与Qt元对象系统集成的本质使得C ++功能可以直接从QML调用.这允许开发混 ...