wannafly 17D 01序列2】的更多相关文章

水题. 假设有两个二进制数a,b,c=a+b(a,b拼接起来) 那么显然如果b长度为偶数\(c\mod 3=(b\mod 3+a\mod 3)\mod 3\) 否则\(c\mod 3=(b\mod 3+(a\mod 3)*2)\mod 3\) 那么只要记一个区间的前缀和后缀就行了,合并的时候左儿子的后缀和右儿子的前缀合并. 具体见代码 #include<bits/stdc++.h> #define il inline #define vd void typedef long long ll;…
传送门 先考虑二进制下为3倍数的数的共同特点自己手玩去,可以发现这些数奇数二进制位上的1个数(记为\(a\))和偶数二进制位上的1个数(记为\(b\))在模3意义下相等(\(a \equiv b (mod 3)\)),所以可以维护所有前缀中,\(a\)为0/1/2以及\(b\)为0/1/2的前缀个数,用线段树维护每个区间的这些值.但是合并的时候,我们还需要知道前一个区间的最后一个前缀的\(a,b\)状态,所以把这个也维护起来.每次就单点修改,询问就把某个区间的所有状态的前缀个数抠出来,然后分类讨…
题目描述 给你一个01序列,HDLC协议处理的话,如果出现连续的5个1会补1个0.例如1111110,会变成11111010. 现在给你一个经过HDLC处理后的01序列,你需要找到HDLC处理之前的01序列. 例如给你11111010 你需要输出1111110 输入 输入正整数N,表示N例测试.接着输入N组数据,每组输入经过HDLC处理过的01序列(长度小于100). 输出 对每组输入数据,输出HDLC处理前的01序列. 样例输入 2 11111010 1111100 样例输出 1111110…
题目描述 给你一个 01 序列,HDLC 协议处理的话,如果出现连续的 5 个 1 会补 1 个 0. 例如 1111110,会变成 11111010. 现在给你一个经过 HDLC 处理后的 01 序列,你需要找到 HDLC 处理之前的 01 序列. 例如给你 11111010,你需要输出 1111110. 输入格式 第一行一个整数 N,表示共有 N 组测试数据. 每组数据占一行,包含一个 01 序列. 输出格式 每组数据输出一行结果,为处理之前的 01 序列. 数据范围 \(1≤N≤100\)…
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在快速教程中,我们了解了最基本的序列(sequence).回忆一下,序列包含有定值表(tuple)和表(list).此外,字符串(string)是一种特殊的定值表.表的元素可以更改,定值表一旦建立,其元素不可更改. 任何的序列都可以引用其中的元素(item). 下面的内建函数(built-in function)可用于序列(表,定值表,字符串): # s为一个序列 len(s)…
题目链接: http://acm.xmu.edu.cn/JudgeOnline/problem.php?id=1588 题目大意: 给n1个0和n2个1,连续的0不超过k1个,连续的1不超过k2个.问序列有几种(对1000000001(109+1)取模) n1,n2<=100 k1,k2<=10 题目思路: [动态规划] 动态规划比较明显. f[i][j][k][0]表示 i个0 j个1 末尾连续k个0的方案数 f[i][j][k][1]表示 i个0 j个1 末尾连续k个1的方案数 根据最后末…
4552: [Tjoi2016&Heoi2016]排序 Time Limit: 60 Sec  Memory Limit: 256 MBSubmit: 994  Solved: 546[Submit][Status][Discuss] Description 在2016年,佳媛姐姐喜欢上了数字序列.因而他经常研究关于序列的一些奇奇怪怪的问题,现在他在研究一个难题 ,需要你来帮助他.这个难题是这样子的:给出一个1到n的全排列,现在对这个全排列序列进行m次局部排序,排 序分为两种:1:(0,l,r)…
代码说明: sequence.txt与site.txt整合 如下图: sequence.txt: site.txt: 整理之后如下: 蛋白质序列中发生翻译后修饰的位置标记为“1”,其他的位置标记为“0” 代码如下: #include<stdio.h> #include<stdlib.h> #include<iostream> #include<string.h> #include<algorithm> #include<time.h>…
[题目描述] lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b 把[a,b]区间内的所有数全部取反,也就是说把所有的0变成1,把所有的1变成0 3 a b 询问[a, b]区间内总共有多少个1 4 a b 询问[a, b]区间内最多有多少个连续的1 对于每一种询问操作,lxhgww都需要给出回答,聪明的程序员…
1858: [Scoi2010]序列操作 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1961  Solved: 991[Submit][Status][Discuss] Description lxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b 把[a,b]区…