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

打卡信奥刷题(3458)用C++实现信奥题 P10488 [BAPC 2006 资格赛] Booksort

P10488 [BAPC 2006 资格赛] Booksort

题目描述

给定nnn本书,编号为1∼n1 \sim n1n

在初始状态下,书是任意排列的。

在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置。

我们的目标状态是把书按照1∼n1 \sim n1n的顺序依次排列。

求最少需要多少次操作。

输入格式

第一行包含整数TTT,表示共有TTT组测试数据。

每组数据包含两行,第一行为整数nnn,表示书的数量。

第二行为nnn个整数,表示1∼n1 \sim n1n的一种任意排列。

同行数之间用空格隔开。

输出格式

每组数据输出一个最少操作次数。

如果最少操作次数大于或等于555次,则输出5 or more

每个结果占一行。

输入输出样例 #1

输入 #1

3 6 1 3 4 6 2 5 5 5 4 3 2 1 10 6 8 5 3 4 7 2 9 1 10

输出 #1

2 3 5 or more

说明/提示

1≤T≤31\le T\le 31T31≤n≤151 \le n \le 151n15

C++实现

#include<bits/stdc++.h>usingnamespacestd;#defineREP(i,l,r)for(inti=(l);i<=(r);++i)namespaceMilkcat{typedeflonglongLL;typedefpair<LL,LL>pii;constintN=1e6+5;intn,chk,a[N];voiddfs(intd,intmxdep){if(chk)return;intct=0;REP(i,1,n+1)ct+=(a[i]-a[i-1]!=1);ct=(ct+2)/3;// 相当于 ceil(1.0 * ct / 3)if(d+ct>mxdep)return;if(!ct){chk=1;return;}REP(L,1,n)REP(R,L,n){REP(k,1,L-1){rotate(a+k,a+L,a+R+1),dfs(d+1,mxdep);rotate(a+k,a+k+R-L+1,a+R+1);}REP(k,R+1,n){rotate(a+L,a+R+1,a+k+1),dfs(d+1,mxdep);rotate(a+L,a+L+k-R,a+k+1);}}}intmain(){cin>>n,a[n+1]=n+1;REP(i,1,n)cin>>a[i];REP(i,0,4){chk=0,dfs(0,i);if(chk){cout<<i<<'\n';return0;}}cout<<"5 or more\n";return0;}}intmain(){intT=1;cin>>T;while(T--)Milkcat::main();return0;}

后续

接下来我会不断用C++来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现,记录日常的编程生活、比赛心得,感兴趣的请关注,我后续将继续分享相关内容

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

相关文章:

  • 宁波经济纠纷:袁勤玮教你3步选对个人律师,经济纠纷/法律顾问/金融纠纷/合同纠纷/公司纠纷,经济纠纷律师找哪个 - 品牌推荐师
  • SpaceMind智能空间:Agent技术进化与场景化应用
  • DeepSeek LeetCode 3630. 划分数组得到最大异或运算和与运算之和 Java实现
  • YOLO部署中的后处理优化:NMS的GPU加速实现与Python层后处理的性能陷阱
  • Unity跨平台文件对话框实战:从原生API到CompactStandaloneFileBrowser
  • mdapy:高效分子动力学分析工具全解析
  • 使用libtcc实现C语言动态编译与JIT技术
  • 本地服务企业网站的内容工程:Next.js、Prisma、SQLite、Docker与GEO实践
  • C++智能仓储系统性能优化:从内存管理到并发重构的工程实践
  • AI时代如何捍卫创作者表达权?ArtArch的创新实践
  • TI eHRPWM寄存器深度解析:从时基到死区的电机控制实战配置
  • 2026实力之选:物流服务公司——高效运输、智能仓储与优质服务实力之选 - 甄选服务推荐
  • 硬件课程设计优化服务的商业价值与技术实践
  • 单片机芯片烧录全流程解析与实战指南
  • UE5光照与阴影实战指南:从核心原理到性能优化
  • 现代C++智能指针与RAII实战指南:从原理到应用场景
  • 3分钟解锁Wand高级功能:告别付费墙的终极方案
  • 多AI协作开发如何避免“自己写、自己审”:Codex、Claude Code与工程验收闭环
  • ISP色度处理与自动控制:从YUV采样到H3A统计的工程实践
  • JDK 8升级高版本JDK的完整指南与实战经验
  • HarmonyOS开发实战: EmailFeedbackPage 意见反馈 + AboutPage 关于页
  • RTX 5090显卡深度评测:DLSS 4与散热创新解析
  • 2026 年新发布:栾川热门的干法施工隔墙板厂商推荐,揭秘:墙体隔断的未来,干法施工板能帮你省下多少钱? - 行业鉴选官
  • PDF、Word、HTML、Markdown、图片等文档解析工具MinerU和Docling
  • FreeRTOS学习(三)——任务状态和调度器运行过程
  • 深入解析MMC/SD/SDIO控制器:中断、DMA与缓冲区管理协同机制
  • 红黑树原理与实现:从2-3-4树到工程实践
  • HarmonyOS开发实战:图片全屏查看器:Swiper 轮播 + 缩略图导航
  • 双语疗愈文学创作:心理学与跨文化表达的融合
  • 开源身份管理平台Logto:快速集成OIDC/OAuth 2.0与社交登录