codeforces 1256f
codeforces 1256f
题意
给出两个长度相等的字符串,每次操作必须同时翻转两个字符串中相同长度的子串,求是否可以通过这种操作使得两个串相等
题解
可以推出当两个字符串的字符集相等,任一字符出现的次数不为一时,答案为YES。因为我们可以不断地翻转两个的相同字符,同时令另一个字符串不断地交换字符使得两个字符串相等。
这样我们可以把n优化到26,然后暴力翻转相邻的两个数即可,当翻转次数为偶数时,输出YES。
#include <bits/stdc++.h>
using namespace std;
#define no printf("-1\n"),exit(0)
typedef long long ll;
typedef pair<int,int> P;
const int maxn=200050;
const int inf=0x3f3f3f3f;
const int mod=998244353;char a[maxn],b[maxn];int main()
{int n,t,i,j,k;scanf("%d",&t);while(t--){scanf("%d",&n);scanf("%s %s",a,b);vector<int> k1(30,0),k2(30,0);for(i=0; i<n; i++){int x=a[i]-'a',y=b[i]-'a';k1[x]++,k2[y]++;}int f=0;for(i=0; i<26; i++)if(k1[i]!=k2[i])f=1;if(f){printf("NO\n");continue;}f=0;for(i=0; i<26; i++)if(k1[i]>1)f=1;if(f){printf("YES\n");continue;}int ans=0,l,r;for(i=0;i<n;i++){if(a[i]!=b[i]){for(j=i+1;j<n;j++)if(b[j]==a[i])break;for(k=j-1;k>=i;k--)swap(b[k],b[k+1]),ans++;}}if(ans%2==0)printf("YES\n");elseprintf("NO\n");}return 0;
}
codeforces 1256f相关推荐
- CodeForces 375D Tree and Queries
传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...
- 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...
- 【codeforces 812C】Sagheer and Nubian Market
[题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...
- CodeForces 获得数据
针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...
- codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...
题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...
- CodeForces 595A
题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...
- codeforces A. Jeff and Digits 解题报告
题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)
Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...
最新文章
- sqlldr,将数据批量导入Oracle数据库
- ora-01017 invalid username/password logon denied
- 嘉兴碧桂园云栖里土拍价格_嘉兴的碧桂园云栖里房子忍不住去看了房子看完我震惊了...
- 20172319 2018.10.12《Java程序设计教程》第6周课堂实践(补写博客)
- kl散度度量分布_数据挖掘比赛技巧——确定数据同分布
- H5 水球加载动画 - canvas应用篇
- 一个通用的单元测试框架的思考和设计02-设计篇
- androidstudio做登录界面_Vue-cli+Element-ui实现后台管理系统(二)实现后台登录功能...
- 2017.08.15【NOIP提高组】模拟赛B组 生日聚餐
- 【翻译】Vue.js中的computed是如何工作的
- 【读书笔记】《梁宁·产品思维三十讲》——产品经理人生规划修心课
- Python画图显示中文
- PowerManagerService 电源管理架构初识
- 接入微信SDK 获取用户定位
- Viruses!!!!!
- jQuery siblings() 方法
- OpenCV图像各向异性滤波
- 说说翻转的数据结构课
- ip地址、子网掩码及ip地址的相关计算
- 前后端是如何交互的?
热门文章
- 思维之道:管理何必那么虚
- 综合案例之圣诞节的那些事
- Java基础学习笔记(三)_Java核心技术(高阶)
- 微型计算机第六章课后答案,微型计算机原理及其接口技术第六章部分习题.doc...
- [电表窃电方法] 偷电方法-电表控制器
- linux 锁定用户目录,Linux vfpd锁定用户目录
- 系统清道夫 android2.1,安卓系统清道夫国际版
- Vue动态加载ECharts图表数据小结
- capex与opex的区别
- 1月第2周小红书、抖音、B站、淘宝KOL排行榜