【ZOJ4060】 Flippy Sequence(规律)】的更多相关文章

题目链接:传送门 题目大意: 两个长度为n的二进制串s,t,每次操作可以将s串的一段区间取反.求操作exactly twice后使得s=t的方法数. 思路: 连续的尽可能长的 si ≠ ti 的区间简称A,连续的尽可能长的 si = ti 的区间简称B. 则1-n可以划分为若干个AB交替出现,要求操作exactly twice后s=t,就是消去所有的A. 发现每次操作最多只能使得A的数量减少1个. 所以若对于给出的s,t: ① cnt(A) ≥ 3: 不能完成,方法数为0. ② cnt(A) =…
题意:给定两个长度为n的01序列A和B,要求分别从两个序列中取两段将段中数字取反,使得A和B完全相同,求方案数 n<=1e6,sum(n)<=1e7 思路:现场8Y…… 将A和B异或之后问题转化成了在一个01串中取两端,将段中数字取反,使得最终为全0序列,求方案数 找规律之后可得与连续的1的段数有关,设段数为s s=0时ans=(n+1)*n/2 s=1时ans=2*(n-1) s=2时ans=6 s>2时ans=0 #include<cstdio> #include<…
题意: 一个序列的第n项为3*n*(n-1)+1,而 n>=1,现在给一个正整数m,问其最少由多少个序列中的数组成? 思路: 首先,序列第1项是1,所以任何数都能构成了.但是最少应该是多少?对式子进行变形,6*(n*(n-1)/2)+1,看到了三角形数n*(n-1)/2,那么应该是6*(任意自然数)+x=m才对,因为最多只要3个三角形数就能组成任何自然数啦. 不妨试试m%6是多少?这样试图求x可以吗?因为任意自然数最多由3个组成,如果是k个,那么应该x>=k,别忘了还有个+1的项.x-k那部分…
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4060 题意: 给出两个 $0,1$ 字符串 $S,T$,现在你有两次对 $S$ 作区间翻转($0 \rightarrow 1,1 \rightarrow 0$)的操作, 用四元组 $(l_1,r_1,l_2,r_2)$ 表示,代表第一次翻转区间 $[l_1,r_1]$,第二次翻转区间 $[l_2,r_2]$. 问你有多少个四元组可以使得 $S=T$. 题解: 把…
[链接] 我是链接,点我呀:) [题意] [题解] 按照两个区间的排列方式 我们可以分成以下几种情况 会发现这两个区间的作用 最多只能把两段连续不同的区间变为相同. 那么写个for处理出连续不相同的一段的个数cnt. 根据上面的排列方式. 算出每个cnt对应的答案即可. 别忘了有些情况可以乘2. [代码] #include <bits/stdc++.h> #define ll long long #define rep1(i,a,b) for (int i = a;i <= b;i++)…
题目链接 C - Flippy Sequence(组合数学+分类讨论) 两区间异或一下,分段考虑,如果全为0则任选两相同区间,答案为$C_{n+1}^{2}=\frac{n(n+1)}{2}$,只有一段连续的1则两区间有一个公共边界,另外两个边界分别为连续1的左右边界,答案为$2C_{n-1}^{1}=2(n-1)$,有两段则两区间平分四个边界,答案为$C_{4}^{2}=6$,三段以上无解. #include<bits/stdc++.h> using namespace std; typed…
摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其他区域赛的准备有借鉴意义. Function and Function 题意 给出x和k,计算gk(x). 解题思路 通过观察发现,g函数经过一定次数的递推一定会在0和1之间变换,所以循环内加判断提前结束递推即可. 易错分析 注意计算f(0)返回的是1的问题,下面的写法避免了这种错误. 代码实现 #…
Problem C---zoj 4060 Flippy Sequence 解题思路:要求进行两次操作,每次操作选择一个区间,问将s串变成t串中所选的两个区间构成的4元组有多少个.做法:找出s串与t串不同块的个数,然后做个简单的判断即可. AC代码: #include <bits/stdc++.h> using namespace std; typedef long long LL; ; int T,n,cnt,answer;char s1[maxn],s2[maxn]; int main(){…
传送门 Description Chloe, the same as Vladik, is a competitive programmer. She didn't have any problems to get to the olympiad like Vladik, but she was confused by the task proposed on the olympiad. Let's consider the following algorithm of generating a…
Number Sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 152357    Accepted Submission(s): 37087 Problem Description A number sequence is defined as follows: f(1) = 1, f(2) = 1, f(n) = (A…