codeforces 1186C Vus the Cossack and Strings
题目链接: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的更多相关文章
- 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 ...
- 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 ...
- 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 ...
- C Vus the Cossack and Strings ( 异或 思维)
题意 : 给你两个只包含 0 和 1 的字符串 a, b,定义函数 f ( A, B ) 为 字符串A和字符串B 比较 存在多少个位置 i 使得 A[ i ] != B[ i ] ,例如 f(0011 ...
- Codeforces 1186F - Vus the Cossack and a Graph 模拟乱搞/欧拉回路
题意:给你一张无向图,要求对这张图进行删边操作,要求删边之后的图的总边数 >= ceil((n + m) / 2), 每个点的度数 >= ceil(deg[i] / 2).(deg[i]是 ...
- @codeforces - 1186F@ Vus the Cossack and a Graph
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个 n 点 m 边的图(n, m<=10^6),记第 ...
- 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 ...
- E. Vus the Cossack and a Field (求一有规律矩形区域值) (有一结论待证)
E. Vus the Cossack and a Field (求一有规律矩形区域值) 题意:给出一个原01矩阵,它按照以下规则拓展:向右和下拓展一个相同大小的 0 1 分别和原矩阵对应位置相反的矩阵 ...
- 『Codeforces 1186E 』Vus the Cossack and a Field (性质+大力讨论)
Description 给出一个$n\times m$的$01$矩阵$A$. 记矩阵$X$每一个元素取反以后的矩阵为$X'$,(每一个cell 都01倒置) 定义对$n \times m$的矩阵$A$ ...
随机推荐
- Codeforces 965 枚举轮数贪心分糖果 青蛙跳石头最大流=最小割思想 trie启发式合并
A /*#include<cstring>#include<algorithm>#include<queue>#include<vector>#incl ...
- angularjs 代码结构两种写法
1.当路由中不写controller的时候,controller写在对应的html表单中 2.若要写在路由中,如下 3.转到相应的路由(页面) 1.采用location服务 2.采用 transiti ...
- windows2008r2防火墙设置一例
有台dell R420服务器,系统windows2008r2 扫描出安全漏洞,按照默认开启防火墙,结果远程桌面上不去了,远程桌面端口号是10086,需要在 控制面板\所有控制面板项\Windows 防 ...
- STM32Cube IDE 汉字字体变小解决办法
用STM32Cube IDE自动生成的工程,如果用汉字注释的话,字体会变小,如下图: 解决方法:选中变小的汉字->右击选择Preferences,如下图: 在弹出的对话框中可以看出默认的字体是C ...
- 【HDU4003】Find Metal Mineral
题目大意:给定一棵 N 个节点的有根树,边有边权,在根结点处有 K 个人,这些人会遍历树上的所有边,求如何遍历才能使得所有人走过路径的边权和最小. 题解: 引理:对于一棵子树来说,若存在 M>0 ...
- hadoop下生成echarts关系图
数据 O700 O2833 O700 O331 O700 O3425 O700 O350 O700 O3516 O700 O3826 读取文件类 public class FileReadFromHd ...
- SQL复杂筛选
SELECT A.MATERIALID,A.MATERIALNAME,ISNULL(A.COMPIDSEQ,'') COMPIDSEQ,ISNULL(A.SUPPLYID,'') SUPPLYID,S ...
- C# 获得对象的命名空间 ?.
A a = new A(); var t = a?.ToString(); //t = WebApplication1.Controllers.A //获得命名空间和类名 var t1 = (A)nu ...
- 箱排序(Bin Sort)
1.基本思想 排序过程无须比较关键字,而是通过"分配"和"收集"过程来实现排序.它们的时间复杂度可达到线性阶:O(n). 箱排序也称桶排序(Bucket Sor ...
- golang rabbitmq实践(啰嗦)
目录 rabbitmq ubuntu下的配置 go 实现rabbitmq的消息收发 1:背景简介 我是一个.net一线开发,今年6月份离开帝都来到魔都,后入职于莫江互联网在线教育公司.现刚刚转正,在这 ...