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相关推荐

  1. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  2. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  3. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  4. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  5. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  6. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  7. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  8. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  9. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

最新文章

  1. sqlldr,将数据批量导入Oracle数据库
  2. ora-01017 invalid username/password logon denied
  3. 嘉兴碧桂园云栖里土拍价格_嘉兴的碧桂园云栖里房子忍不住去看了房子看完我震惊了...
  4. 20172319 2018.10.12《Java程序设计教程》第6周课堂实践(补写博客)
  5. kl散度度量分布_数据挖掘比赛技巧——确定数据同分布
  6. H5 水球加载动画 - canvas应用篇
  7. 一个通用的单元测试框架的思考和设计02-设计篇
  8. androidstudio做登录界面_Vue-cli+Element-ui实现后台管理系统(二)实现后台登录功能...
  9. 2017.08.15【NOIP提高组】模拟赛B组 生日聚餐
  10. 【翻译】Vue.js中的computed是如何工作的
  11. 【读书笔记】《梁宁·产品思维三十讲》——产品经理人生规划修心课
  12. Python画图显示中文
  13. PowerManagerService 电源管理架构初识
  14. 接入微信SDK 获取用户定位
  15. Viruses!!!!!
  16. jQuery siblings() 方法
  17. OpenCV图像各向异性滤波
  18. 说说翻转的数据结构课
  19. ip地址、子网掩码及ip地址的相关计算
  20. 前后端是如何交互的?

热门文章

  1. 思维之道:管理何必那么虚
  2. 综合案例之圣诞节的那些事
  3. Java基础学习笔记(三)_Java核心技术(高阶)
  4. 微型计算机第六章课后答案,微型计算机原理及其接口技术第六章部分习题.doc...
  5. [电表窃电方法] 偷电方法-电表控制器
  6. linux 锁定用户目录,Linux vfpd锁定用户目录
  7. 系统清道夫 android2.1,安卓系统清道夫国际版
  8. Vue动态加载ECharts图表数据小结
  9. capex与opex的区别
  10. 1月第2周小红书、抖音、B站、淘宝KOL排行榜