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

CF2211C2(1800)

原题网址

题意不再赘述

  我们思考区间滑动的性质: 假设区间为[l,l+k],滑动至[l+1,l+k+1],此时a数组中减少了al,增加了ar+1,b数组对应也减少了bl,增加了br+1,题目要求滑动之后的窗口仍然为重排,这就意味着{al,ar+1}={bl,br+1},此时可能有俩种情况:

  1. al=bl,ar+1=br+1
  2. al=br+1,ar+1=bl

这时我们可以将整个a数组分为k组,每组相邻的俩个数下标相差k,即Ti={ai,ai+k,ai+2k...}(i∈1,2,3...k)此时题目可以转化为对于每组来说,要使Tib为Tia的重排

这时我们再讨论:

  1. Tia中每个数都一样,此时Tib只要保证每个数都一样即可
  2. Tia存在不一样的数,此时Tib的每一位都要与Tia相同

2的证明如下:假设a1,a1+k,a1+2k为{1,1,2} 如果让b1+k=2,b1+2k=1,此时就后面俩个数来说是满足之前的关系的,但是如果考虑前面俩个数就会发现

{a1,a1+k}≠{b1,b1+k}因此我们要保证Tia的每一位都与Tib相同

代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ull unsigned long long
const int N=2e5+5;
int n,k;
void solve(){cin>>n>>k;vector<int> a(n),b(n);for(int i=0;i<n;i++)cin>>a[i];for(int i=0;i<n;i++)cin>>b[i];vector<int> st(k);unordered_map<int,int> mp;for(int i=0;i<k;i++){st[i]=a[i];for(int j=i+k;j<n;j+=k){if(a[j]!=st[i])st[i]=-1;}if(st[i]!=-1)mp[st[i]]++;else{for(int j=i;j<n;j+=k){if(b[j]!=-1 && b[j]!=a[j]){cout<<"NO\n";return;}}}}int cnt1=0;for(int i=0;i<k;i++){if(st[i]!=-1){set<int> v;for(int j=i;j<n;j+=k)v.insert(b[j]);v.erase(-1);if(v.size()>=2){cout<<"NO\n";return;}else if(v.size()==1){int x=*v.begin();if(!mp.count(x)){cout<<"NO\n";return;}else{mp[x]--;if(mp[x]==0)mp.erase(x);}}else cnt1++;}}int sum=0;for(auto it=mp.begin();it!=mp.end();it++){sum+=it->second;}if(cnt1==sum)cout<<"YES\n";else cout<<"NO\n";}
signed main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int _=1;cin>>_;while(_--)solve();
}

          

http://www.jsqmd.com/news/726045/

相关文章:

  • 【静态链表】
  • AI产品经理爆发!月薪30k-60k,0基础也能抓住风口?深度解析岗位、薪资与转行路径!
  • 微软 VibeVoice 万字深度解析:从原理、架构、部署到行业落地,重新定义长音频 AI
  • 聚惠选供应商招募启动——源头供应商让利平台,平台反哺消费 - 资讯焦点
  • 武汉有什么特色美食外卖值得点?外卖必点榜帮你避开踩雷选到正宗好味 - 资讯焦点
  • Novel-downloader:全网小说批量下载与离线阅读终极指南
  • 速腾聚创雷达也能用!手把手教你用SC-LIO-SAM建高精度点云地图(附RS-LiDAR转Velodyne代码)
  • Total War模组制作终极指南:用RPFM轻松创建你的游戏模组
  • 从理论到仿真:用Abaqus复现材料力学经典‘悬臂梁’问题,结果对比与误差分析
  • 建立个人SOP:将重复性工作自动化,释放创造性时间
  • 第7篇:Java面向对象高级:抽象类与接口,解锁代码规范与扩展性新高度
  • 2026年京东代运营公司十大排名专业深度测评发布 - 电商资讯
  • Sa-Token V1.31.0 新拦截器实战:在 RuoYi-Vue-Plus 4.3.0 中如何用 @SaIgnore 替换 @Anonymous 提升性能
  • 聚惠选积分补贴红包机制详解——创新消费模式激发市场活力 - 资讯焦点
  • 告别卡顿!用ArmSoM-W3的RK3588 MPP硬解码,轻松搞定四路RTSP监控画面同屏显示
  • 颠覆数字社交霸权的终极核武!【GO语言高并发】壹信企业级IM即时通讯源码以64分片锁与全栈云原生矩阵缔造百万私域帝国 - 壹软科技
  • 告别手动抄图!Python + dxfgrabber + FastAPI 快速搭建一个CAD图纸信息查询小工具
  • 二维码智能修复指南:QRazyBox如何让损坏的二维码重获新生
  • 观察不同地理区域用户访问Taotoken聚合端点的平均延迟表现
  • R语言偏见检测黄金三角:Wasserstein距离 + 多重敏感属性分层检验 + 反事实扰动稳健性评分(2023 ACL顶会验证方法,今日限时开放代码库)
  • 嘎嘎降AI和去AIGC使用体验对比:2026年操作便捷度和效果稳定性分析
  • 轻松掌握vue3-element-admin字体设置:从基础调整到深度定制全攻略
  • 别让防火墙背锅了!银河麒麟V10外设管理的3个隐藏设置与1个必查命令
  • 苏州VOCs废气处理怎么挑选呢
  • 告别复制粘贴!用STM32F103C8T6和V3.5.0固件库,从零搭建一个整洁的Keil工程模板
  • 携程任我行礼品卡回收,资深视角全攻略 - 京顺回收
  • 告别手动描边!用X-AnyLabeling和SAM模型,10分钟搞定YOLOv8-seg数据集标注
  • 无锡兆材包装:无锡诚信的木箱回收公司选哪家 - LYL仔仔
  • 新概念英语第二册68_Persistent
  • 别再死记硬背了!用Python+PyTorch Metrics库5分钟搞定图像分割的混淆矩阵与DSC计算