Codeforces Round #648 (Div. 2) F. Swaps Again
题目链接:F、Swaps Again
题意:
有两个长度为n的数组a和数组b,可以选择k(1<=k<=n/2)交换某一个数组的前缀k和后缀k,可以交换任意次数,看最后是否能使两个数组相等
可以输出yes,否则输出no
题解:
。。。这道题我真没想到这样写
例如一个序列1,2,3,4,5.你交换一次(怎么交换就不说了,能看出来),5,2,3,4,1,再交换一次4,1,3,5,2.
你会发现一个规律(反正我没发现),对称位置的元素依然是最开始的元素,就比如没交换前1和5相对称,再交换了多次之后1还是和5处于对称位置
那么如果b序列可以通过a序列交换得到,那么肯定某个数的对应元素肯定在两个数组中都一样
代码:
- 1 #include<stdio.h>
- 2 #include<algorithm>
- 3 #include<iostream>
- 4 #include<string>
- 5 #include<queue>
- 6 #include<deque>
- 7 #include<string.h>
- 8 #include<map>
- 9 #include <iostream>
- 10 #include <math.h>
- 11 using namespace std;
- 12 typedef long long ll;
- 13 const int maxn=500+10;
- 14 int a[maxn],b[maxn];
- 15 pair<int,int> p1[maxn],p2[maxn];
- 16 int main()
- 17 {
- 18 int t;
- 19 scanf("%d",&t);
- 20 while(t--)
- 21 {
- 22 int n;
- 23 memset(p1,0,sizeof(p1));
- 24 memset(p2,0,sizeof(p2));
- 25 bool flag=0;
- 26 scanf("%d",&n);
- 27 for(int i=1; i<=n; i++)
- 28 {
- 29 scanf("%d",&a[i]);
- 30 }
- 31 for(int i=1; i<=n; i++)
- 32 {
- 33 scanf("%d",&b[i]);
- 34 }
- 35 if(n%2==1&&a[n/2+1]!=b[n/2+1]) //中间这位不能变
- 36 {
- 37 flag=1;
- 38 }
- 39 for(int i=1; i<=n/2; i++)
- 40 {
- 41 p1[i]= {max(a[i],a[n-i+1]),min(a[i],a[n-i+1])};
- 42 p2[i]= {max(b[i],b[n-i+1]),min(b[i],b[n-i+1])};
- 43 }
- 44 sort(p1+1,p1+1+n/2);
- 45 sort(p2+1,p2+1+n/2);
- 46 for(int i=1; i<=n/2; i++)
- 47 {
- 48 if(p1[i]!=p2[i])
- 49 {
- 50 flag=1;
- 51 }
- 52 }
- 53 if(flag==0)
- 54 {
- 55 printf("yes\n");
- 56 }
- 57 else
- 58 {
- 59 printf("no\n");
- 60 }
- 61 }
- 62 return 0;
- 63 }
Codeforces Round #648 (Div. 2) F. Swaps Again的更多相关文章
- Codeforces Round #485 (Div. 2) F. AND Graph
Codeforces Round #485 (Div. 2) F. AND Graph 题目连接: http://codeforces.com/contest/987/problem/F Descri ...
- Codeforces Round #486 (Div. 3) F. Rain and Umbrellas
Codeforces Round #486 (Div. 3) F. Rain and Umbrellas 题目连接: http://codeforces.com/group/T0ITBvoeEx/co ...
- Codeforces Round #501 (Div. 3) F. Bracket Substring
题目链接 Codeforces Round #501 (Div. 3) F. Bracket Substring 题解 官方题解 http://codeforces.com/blog/entry/60 ...
- Codeforces Round #499 (Div. 1) F. Tree
Codeforces Round #499 (Div. 1) F. Tree 题目链接 \(\rm CodeForces\):https://codeforces.com/contest/1010/p ...
- Codeforces Round #376 (Div. 2)F. Video Cards(前缀和)
题目链接:http://codeforces.com/contest/731/problem/F 题意:有n个数,从里面选出来一个作为第一个,然后剩下的数要满足是这个数的倍数,如果不是,只能减小为他的 ...
- Codeforces Round #271 (Div. 2) F. Ant colony (RMQ or 线段树)
题目链接:http://codeforces.com/contest/474/problem/F 题意简而言之就是问你区间l到r之间有多少个数能整除区间内除了这个数的其他的数,然后区间长度减去数的个数 ...
- Codeforces Round #325 (Div. 2) F. Lizard Era: Beginning meet in the mid
F. Lizard Era: Beginning Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/5 ...
- Codeforces Round #271 (Div. 2) F题 Ant colony(线段树)
题目地址:http://codeforces.com/contest/474/problem/F 由题意可知,最后能够留下来的一定是区间最小gcd. 那就转化成了该区间内与区间最小gcd数相等的个数. ...
- Codeforces Round #479 (Div. 3) F. Consecutive Subsequence (简单dp)
题目:https://codeforces.com/problemset/problem/977/F 题意:一个序列,求最长单调递增子序列,但是有一个要求是中间差值都是1 思路:dp,O(n)复杂度, ...
随机推荐
- 数据库MySQL(带你零基础入门MySQL)
(一)认识数据库 redis默认端口:6379 mysql默认端口:3306 什么是数据库? 数据库的英文单词:data base,简称DB. 数据库实际上就是一个文件集合,是一个存储数据的仓库,本质 ...
- win10/windows 安装Pytorch
https://pytorch.org/get-started/locally/ 去官网,选择你需要的版本. 把 pip install torch==1.5.0+cu101 torchvision= ...
- 【Oracle】整库导出后怎么恢复到指定用户的指定表
在导出的时候,整库导出 这里使用的是dba权限 $exp "'/ as sysdba'" file=full20180227.dmp log=exp_full20180227.lo ...
- Databricks 第8篇:把Azure Data Lake Storage Gen2 (ADLS Gen 2)挂载到DBFS
DBFS使用dbutils实现存储服务的装载(mount.挂载),用户可以把Azure Data Lake Storage Gen2和Azure Blob Storage 账户装载到DBFS中.mou ...
- apscheduler(定时任务) 基于redis持久化配置操作
apscheduler(定时任务) 基于redis持久化配置操作 安装模块 pip install apscheduler 导入模块配置 ## 配置redis模块 from apscheduler.j ...
- uni-app开发经验分享五: 解决三端页面兼容问题的方法
在做uni-app开发的过程中,我们最头疼可能不是开发的过程中的逻辑,而是最后要做的三端兼容测试和修改,在我开发的项目中,这一步都是最头疼和令人头秃的过程,这里总结一些个人开发遇到的问题,希望对大家有 ...
- 用xmind设计用例:
注意一个原则:清晰明了,简单高效 注意不要写成需求分析,从测试的角度对场景进行分类管理 注意点: 1.思维导图重要的是逻辑清晰归类,注意有不要太多具体的操作步骤 举个例子(来源:https://www ...
- 新型赌博黑产攻击肆虐网吧: LOL博彩引流+棋牌盗号
https://mp.weixin.qq.com/s/BxnovV6jKqPkYfHEzjd_FA 新型赌博黑产攻击肆虐网吧: LOL博彩引流+棋牌盗号 看雪学院 2019-04-21
- Main event loop
https://developer.apple.com/library/archive/documentation/General/Conceptual/Devpedia-CocoaApp/MainE ...
- 进程通信类型 管道是Linux支持的最初Unix IPC形式之一 命名管道 匿名管道
管道 Linux环境进程间通信(一) https://www.ibm.com/developerworks/cn/linux/l-ipc/part1/index.html 管道及有名管道 郑彦兴200 ...