当前位置: 首页 > news >正文

CF1545A AquaMoon and Strange Sort - crazy-

CF1545A AquaMoon and Strange Sort

题目传送门

题意

\(n\) 个人从左到右站成一排,从左数第 \(i\) 个人的衣服上印着 \(a_i\)。每个人的朝向可以是朝左、朝右。一开始所有人的方向都是朝右。

您可以对这些人做一些“操作”,每次操作允许您找两个相邻的人让他们交换顺序,但是在操作之后,两人都会掉头,也就是朝向都从朝右变成朝左或者相反。

现求是否存在一种操作方法使得操作完成后这 \(n\) 个人衣服上的数字 \(a_1, a_2, \ldots , a_n\) 从左往右读单调不减,并且最后所有人的方向都朝右。

思路

联想一下,会发现这题很像一个冒泡排序,每个数都有一个目标位置,需要通过交换相邻的数来到达

那么特征也就出来了,为了使他的方向不变,所以他的位置之差一定是偶数,换句话说,就是在新序列和旧序列中,同一个数的位置奇偶性一致

这道题的一个难点在于如何判断相同的数,这里参考一下题解思路,用\(f_i\)表示旧序列中数字\(i\)位于偶数位置的个数,\(g_i\)表示位于奇数位置的个数。

而在新的序列里,也存在这样一组\(f\)\(g\),现在且叫他们\(f'\)\(g'\)

那么,条件就变为了\(f_i=f'_i\)\(g_i=g'_i\)

据此写出代码即可

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int Maxn=1e5+10;
int a[Maxn];
int f[Maxn],g[Maxn];
int flag,n;
void run()
{cin>>n;flag=1;memset(f,0,sizeof(f));memset(g,0,sizeof(g));for(int i=1;i<=n;i++){cin>>a[i];f[a[i]]+=(i%2==0);g[a[i]]+=(i%2==1);}sort(a+1,a+n+1);for(int i=1;i<=n;i++) f[a[i]]-=(i%2==0),g[a[i]]-=(i%2==1);for(int i=1;i<=n && flag;i++) if(f[a[i]] || g[a[i]]) flag=0;cout<<(flag?"Yes":"No")<<endl;
}
signed main(){ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int t;cin>>t;while(t--) run();system("echo. & pause");return 0;
}
http://www.jsqmd.com/news/88807/

相关文章:

  • 8、深入了解Bash:功能、安装与使用指南
  • 动态规划01背包问题
  • 停止造Agent,开始造Skills吧!Claude Skills创造者:Agent聪明但不够专业,非技术人员也能造Skills
  • 面向对象程序设计——第二章作业总结
  • 如何理解:“模型训练编排” 是 AI 创新的关键 ?
  • 2025年男孩起名机构推荐:权威起名榜单TOP5深度解析 - 十大品牌推荐
  • 游戏中的开发模式有哪些?一篇带你了解常用的设计模式!<二>
  • 【Python】conda更换国内镜像源
  • 父子进程关系与终止机制详解
  • 2025年起名改名机构推荐:权威榜TOP5机构深度解析 - 十大品牌推荐
  • 2025年生辰八字起名机构推荐:权威榜TOP5机构深度解析 - 十大品牌推荐
  • Product Hunt 每日热榜 | 2025-12-14
  • 2025年生辰八字起名机构推荐:权威TOP5机构深度解析 - 十大品牌推荐
  • SpringCould —— 网关详解
  • 实验实验实验
  • WinForm DataGridView:单元格类型与高频绘制案例
  • 2025年生辰八字起名机构推荐:榜TOP5机构深度解析 - 十大品牌推荐
  • 2025年八字起名机构推荐:权威榜TOP5机构深度解析 - 十大品牌推荐
  • 基于改进YOLO13-C3k2-WDBB的石棉类型识别与检测系统详解
  • 2025年八字起名机构推荐:权威榜单TOP10机构深度解析 - 十大品牌推荐
  • 存储引擎内核:深入解析 LSM-Tree 原理与高吞吐写入实践
  • 告别逐张修图!AI批量换模特图背景,新手也能统一风格
  • 30、进程间通信:文件锁、共享内存与信号机制
  • 用带头节点的链式存储实现栈的操作
  • Claude vs ChatGPT vs Gemini:全方位对比与选用指南
  • 2025年女孩起名机构推荐:权威起名机构榜TOP5深度解析 - 十大品牌推荐
  • 31、进程间通信:信号、管道与套接字详解
  • 第二十九周 学习周报
  • 在 IntelliJ IDEA 中高效使用 Git 的实用指南
  • 2025年女孩起名机构推荐:权威起名机构榜单深度解析与选择指南 - 十大品牌推荐