【ZOJ 4060】Flippy Sequence
【链接】 我是链接,点我呀:)
【题意】
【题解】
按照两个区间的排列方式
我们可以分成以下几种情况

会发现这两个区间的作用
最多只能把两段连续不同的区间变为相同。
那么写个for处理出连续不相同的一段的个数cnt。
根据上面的排列方式。
算出每个cnt对应的答案即可。
别忘了有些情况可以乘2.
【代码】
#include <bits/stdc++.h>
#define ll long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
using namespace std;
const int N = 1e6;
int n;
char s[N+10],t[N+10];
vector<pair<int,int> > v;
int main(){
#ifdef ccy
freopen("rush.txt","r",stdin);
#endif
int T;
scanf("%d",&T);
while (T--){
scanf("%d",&n);
scanf("%s",s+1);
scanf("%s",t+1);
v.clear();
int l = 0,r = 0;
rep1(i,1,n){
if (s[i]!=t[i]){
if (l==0) l = i;
r = i;
}else{
if (l!=0){
v.push_back(make_pair(l,r));
l = 0;
}
}
}
if (l!=0) v.push_back(make_pair(l,r));
int cnt = v.size();
ll ans = 0;
if (cnt==0){
ans+=1LL*n*(n+1)/2;
printf("%lld\n",ans);
continue;
}
if (cnt==1){
ans+=1LL*(v[0].first-1+n-v[0].second)*2;
ans+=1LL*(v[0].second-v[0].first)*2;
printf("%lld\n",ans);
continue;
}
if (cnt==2){
ans+=6;
printf("%lld\n",ans);
continue;
}
puts("0");
}
return 0;
}
【ZOJ 4060】Flippy Sequence的更多相关文章
- 【LeetCode练习题】Permutation Sequence
Permutation Sequence The set [1,2,3,…,n] contains a total of n! unique permutations. By listing and ...
- 【Havel 定理】Degree Sequence of Graph G
[题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=2454 [别人博客粘贴过来的] 博客地址:https://www.cnblogs.com/debug ...
- 【POJ 2478】 Farey Sequence
[题目链接] 点击打开链接 [算法] 不难看出,ans = phi(2) + phi(3) + .... + phi(n-1) + phi(n) 线性筛筛出欧拉函数,预处理前缀和,即可 [代码] #i ...
- 【HDU 1005】 Number Sequence
[题目链接] 点击打开链接 [算法] 矩阵乘法快速幂,即可 [代码] #include<bits/stdc++.h> using namespace std; int a,b,n; str ...
- 【codeforces 466D】Increase Sequence
[题目链接]:http://codeforces.com/problemset/problem/466/D [题意] 给你n个数字; 让你选择若干个区间; 且这些区间[li,ri]; 左端点不能一样; ...
- 【Uva 1626】Brackets sequence
[Link]: [Description] 括号序列由这样的规则生成: 1.空字符是一个括号序列; 2.在括号序列两端加上一对括号也是括号序列; 如(s),[s]; 3.两个括号序列A和B,连在一起, ...
- 【codeforces 602D】Lipshitz Sequence
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- 【ZOJ4060】 Flippy Sequence(规律)
题意:给定两个长度为n的01序列A和B,要求分别从两个序列中取两段将段中数字取反,使得A和B完全相同,求方案数 n<=1e6,sum(n)<=1e7 思路:现场8Y…… 将A和B异或之后问 ...
- 【SPOJ 2319】 BIGSEQ - Sequence (数位DP+高精度)
BIGSEQ - Sequence You are given the sequence of all K-digit binary numbers: 0, 1,..., 2K-1. You need ...
随机推荐
- tensorflow 模型压缩
模型压缩 为了将tensorflow深度学习模型部署到移动/嵌入式设备上,我们应该致力于减少模型的内存占用,缩短推断时间,减少耗电.有几种方法可以实现这些要求,如量化.权重剪枝或将大模型提炼成小模型. ...
- glance rabbit
- Oracle 当输入参数允许为空时
场景: 有一个存储过程p_test 带有多个输入参数code.name.number p_test(code IN VARCHAR2,nameIN VARCHAR2,number IN VARCHAR ...
- 这是一个无效的原路径/url
当我们在SourceTree上新建一个“从URL克隆”的远程项目时,在确认“URL”无误的前提下依然报红色字体“这是一个无效的原路径/URL”错误,我们只需要快捷键“Command + ,”打开Sou ...
- MySql-Connector for NET 连接驱动选择
尝试在Visual Studio2010, 2012环境下链接Mysql, 为啥不直接在App.config里面写字符串, 当然是可以,但是当你想用EF 的时候,必须要有个数据源, 首先在[服务资源管 ...
- reduce多种方法计算数组中某个值的出现次数
先来了解下reduce用法 arr.reduce(callback[, initialValue]) callback执行数组中每个值的函数,包含四个参数: accumulator 累计器累计回调的返 ...
- Android 解析JSON
上次讲了XML格式数据的解析方式,这次要说的是如何解析JSON数据格式,相对与XML,JSON解析数据的方式在于它的体积更小,在网络上传输可以更省流量. 这次在网上找到一个中国天气json数据的API ...
- Python之global
1 Global The global statement and its nonlocal cousin are the only things that are remotely like dec ...
- APICloud上啦加载下拉刷新模块
apicloud有自带的上啦加载下拉刷新,当让也可以用第三方或者在模块库里面找一个使用 一.下拉刷新,一下代码写在 apiready = function (){} 里面 apiready = fun ...
- jsTree checkbox plugin使用笔记
引入css文件 <link rel="stylesheet" type="text/css" href="js/assets/global/pl ...