Codeforces Round #648 (Div. 2) C. Rotation Matching
2024-09-02 02:12:28
题目链接:https://codeforces.com/contest/1365/problem/C
题意
有两个大小为 $n$ 的排列,可以循环左移或右移任意次,问最多有多少对同一值在同一位置。
题解
计算两个排列中同一值相差的距离,取个数最多的那个即可。
代码
#include <bits/stdc++.h>
using namespace std;
int main() {
int n; cin >> n;
vector<int> id[n];
for (int _ = 0; _ < 2; _++) {
for (int i = 0; i < n; i++) {
int x; cin >> x;
--x;
id[x].push_back(i);
}
}
int cnt[n] = {};
for (int i = 0; i < n; i++) {
int j = (id[i][0] - id[i][1] + n) % n;
++cnt[j];
}
cout << *max_element(cnt, cnt + n);
}
最新文章
- RadioButton(单选按钮)文字在按钮的左边
- android 内部缓存器(手机自带的存储空间中的当前包文件的路径)
- js 页码分页的前端写法
- sql查询所有表以及表名的模糊查询
- phpcms上线步骤,无法生成缓存,页面空白原因
- 多边形背景生成工具推荐-Trianglify
- PHPCMS v9 在windows2008系统 IIS7 下设置伪静态的方法
- Latex常用包笔记
- hadoop配置及无法移动文件到hdfs故障解析
- A package manager for Qt
- 服务器证书安装配置指南(SLB)
- ArcGIS API For Javascript_4.8-渲染器Renderer
- 企业IT管理员IE11升级指南【11】—— 通过SCCM 2012和WSUS部署Internet Explorer 11
- JavaAndroid项目配置文件笔记
- ubuntu12.04下编译Linux tina 2.1/android经验
- 5、在Dreamweaver cc 2017中添加服务器扩展组件
- Consecutive Subsequence CodeForces - 977F(dp)
- 安装配置nfs
- sqlyog v12.09 注册码
- linux 下 java 链接oracle数据库