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

【补题】Codeforces Global Round 20 D. Cyclic Rotation

题意:偷懒

思路:       D. Cyclic Rotation - Yaqu - 博客园

1.有个观察,如果操作过的序列,一定是连续相同的数字,当然这不代表一定操作过了,由于操作过1次后连续就没有意义,可以假设全都操作过了。

2.考虑从后向前遍历,如果遇到不相同的地方,那么就可以试图将b还原成a的一小部分,当然不能模拟操作,这样一来就变复杂了,因此只需要统计有多少可以还原的操作就可以了,记录操作数字的次数,询问是否能还原,如果可以那么继续,不行那就是NO

3.使用双指针控制,方便写代码

代码:

#include <bits/stdc++.h>
#define int long long
#define int128 __int128
#define IOS                                                                                                            \std::ios::sync_with_stdio(0);                                                                                      \std::cin.tie(0);                                                                                                   \std::cout.tie(0);
const int N = 1e6 + 10;
const int INF = 1e18;
const int MOD = 998244353;void solve() {int n;std::cin >> n;std::vector<int> a(n + 2);std::vector<int> b(n + 2);std::vector<int> cnt(n + 2, 0);for(int i = 1; i <= n; i++) {std::cin >> a[i];}for(int i = 1; i <= n; i++) {std::cin >> b[i];}for(int i = n, j = n; j > 0;) {while(b[j - 1] == b[j]) {cnt[b[j]]++;j--;continue;}if(a[i] == b[j]) {i--;j--;} else if(cnt[a[i]]) {cnt[a[i]]--;i--;} else {std::cout << "NO\n";return;}}std::cout << "YES\n";
}signed main() {IOS;int t = 1;std::cin >> t;while(t--) {solve();}
}

自己写的时候默认了操作顺序一定是先进后出的栈,狠狠WA,而且很自信的不适用双指针,一个变量算,感觉有点多此一举了,写不好一点

http://www.xdnf.cn/news/238969.html

相关文章:

  • Ethan独立开发产品日报 | 2025-04-29
  • 小白学习java第15天(中):javaWeb
  • 高斯-牛顿法与列文伯格-马夸尔特法:非线性优化的理论推导与C++实现
  • Java @Transactional事物隔离级别和默认值详解
  • git did not exit cleanly (exit code 128) 已解决
  • 0基础FWT详解2(巩固)
  • Databend 产品月报(2025年4月)
  • 算法竞赛进阶指南.沙漠之王
  • 如何加速机器学习模型训练:深入探讨与实用技巧
  • Decode
  • PixONE 六维力传感器:赋能 OEM 机器人,12 自由度精准感知
  • PC端实现微信扫码登录
  • 【Android】Android签名解析
  • TEN:开启实时语音交互的下一代AI Agent引擎
  • 54.[前端开发-前端工程化]Day01-Node-Node安装-前端模块化
  • 多通道协调加载试验机
  • SpringBoot+Redis全局唯一ID生成器
  • Redis应用场景实战:穿透/雪崩/击穿解决方案与分布式锁深度剖析
  • 【数据链路层深度解析】从帧结构到协议实现
  • git 怎样把本地仓库推送到新建的远程仓库
  • 详细解释C++ 泛型模板中的完美转发(Perfect Forwarding)
  • 【自定义控件实现最大高度和最大宽度实现】
  • 2025年天梯题解(L1-8 + L2)
  • 普通IT的股票交易成长史--20250430午
  • 湖北理元理律师事务所:从法律视角看债务优化的合规实践
  • 【Android】36原生Settings新框架PreferenceFragment
  • 生物化学笔记:神经生物学概论05 感受野 视觉中枢 高级视皮层中的信息走向
  • 文章记单词 | 第51篇(六级)
  • 代码随想录算法训练营第三十天(补)
  • 【mysql】执行过程,背诵版