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

打卡信奥刷题(3331)用C++实现信奥题 P9345 夕阳西下几时回

P9345 夕阳西下几时回题目背景随着夕阳从山间落下最后一丝余晖逐渐暗淡美丽的晚霞终究还是化作一片黑夜。在这番景象中一阵又一阵的乡愁涌上心头远离家乡的游子就算不是病死他乡又何时能回还题目描述夕阳可以被视作由nnn种不同颜色组成的一副图其中第iii种的颜色为aia_iai​满足aaa是长度为nnn的排列。定义一个排列的乡愁度为对于所有1≤i≤n1\le i\le n1≤i≤n记bigcd⁡(ai,ai1)b_i\gcd(a_i,a_{i1})bi​gcd(ai​,ai1​)。特别地我们认为an1a1a_{n1}a_1an1​a1​。排列aaa的乡愁度为序列bbb中不同元素的个数。求是否有一个长度为nnn乡愁度为kkk的排列ppp。若有解请输出任意一个排列。输入格式本题有多组测试数据。第一行一个正整数TTT表示测试数据组数。对于每组测试数据一行两个整数n,kn,kn,k。输出格式对于每组测试数据如果不存在这样的排列输出一行一个字符串No否则输出一行一个字符串Yes然后输出一行nnn个正整数p1,p2,…,pnp_1,p_2,\dots,p_np1​,p2​,…,pn​表示你找到的排列。校验器忽略字符串大小写例如YESyEsyes都会被视作答案存在。输入输出样例 #1输入 #13 7 1 6 5 11 4输出 #1Yes 1 2 3 4 5 6 7 No Yes 1 11 9 3 6 7 8 2 5 10 4说明/提示【提示】一个长度为nnn的排列是一个满足111到nnn中的所有正整数恰好出现111次的数组。例如[3,1,2][3,1,2][3,1,2]是一个长度为333的排列而[5,5,1,2,3][5,5,1,2,3][5,5,1,2,3]不是一个排列。【样例 1 解释】对于第一组数据b[1,1,1,1,1,1,1]b[1,1,1,1,1,1,1]b[1,1,1,1,1,1,1]故ppp的乡愁度为111。对于第二组数据可以证明不存在这样的序列。对于第三组数据b[1,1,3,3,1,1,2,1,5,2,1]b[1,1,3,3,1,1,2,1,5,2,1]b[1,1,3,3,1,1,2,1,5,2,1]包含444个不同的元素 —1,2,31,2,31,2,3和555故ppp的乡愁度为444。【数据规模与约定】本题采用捆绑测试。Subtask 14 pointsn≤9n\le 9n≤9∑n≤100\sum n\le 100∑n≤100。Subtask 25 pointsk1k1k1。Subtask 313 points∑n≤200\sum n\le 200∑n≤200。Subtask 430 points对于所有测试数据保证有解。Subtask 548 points无特殊限制。对于100%100\%100%的数据1≤T≤1051\le T\le 10^51≤T≤1053≤n≤3×1053\le n\le 3\times 10^53≤n≤3×1051≤k≤n1\le k\le n1≤k≤n∑n≤6×105\sum n \le 6\times 10^5∑n≤6×105。C实现#includebits/stdc.husingnamespacestd;inta[300010];intmp[300010];intmain(){intt;scanf(%d,t);while(t--){intn,k;scanf(%d%d,n,k);for(inti1;in;i){mp[i]0;}if(k(n/2)){printf(No\n);continue;}printf(Yes\n);a[1]1;intcnt1;for(inti2;in;i){intsumi;if(mp[sum]0){a[cnt]sum;mp[sum]1;sum*2;while(sumk*2){a[cnt]sum;mp[sum]1;sum*2;}}}for(inti1;icnt;i){printf(%d ,a[i]);}printf(\n);}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
http://www.rkmt.cn/news/1414544.html

相关文章:

  • 视频PPT智能提取:告别手动截图,3分钟自动化你的课件整理工作
  • 2026年北京搬家公司怎么选?资质齐全、口碑权威的一站式搬迁方案深度对比指南 - 年度推荐企业名录
  • QuickRecorder:3分钟解决macOS录屏难题的轻量级神器
  • [MAF预定义ChatClient中间件-05]动态修改对话配置的两种解决方案
  • 3个技巧:如何用SillyTavern打造你的专属AI伙伴?
  • 从‘形态学’到‘TIN加密’:一文讲透LiDAR点云地面滤波的演进与选型指南
  • 鸿蒙 HarmonyOS 6 | Pura X Max 鸿蒙原生适配 14:大屏弹窗改成侧边面板
  • 新买的SSD移动硬盘到手别急着用!先搞懂exFAT和NTFS怎么选(附T7实测)
  • 企业级AGI商业价值评估与选型白皮书
  • 2026年北京搬家公司完全指南:从居民搬迁到企业运营的全链条对标评测 - 年度推荐企业名录
  • 京东e卡回收注意事项,这几点不看准吃亏 - 京顺回收
  • 广东主流滑轨供应商一览,这些家居五金企业值得推荐! - 资讯焦点
  • Cookie反爬:破解某网站Set-Cookie时的反爬逻辑[特殊字符] 深度实战:手撕某网站Cookie反爬——从JS混淆到Python自动化绕过
  • Spark算子 - Python
  • Labelme 3.16.7 保姆级安装与避坑指南:为什么我推荐这个特定版本?
  • 保姆级避坑指南:在Ubuntu 18.04 ROS Melodic上,用LeGO-LOAM跑通KITTI 00序列(附完整配置流程)
  • 干货汇总2026冷冻机厂家TOP5推荐 筛选适配冷链运作优质生产商 - 资讯速览
  • 摄影师进阶:深度解析i1Profiler制作ICC曲线背后的色彩科学(从D50光源到色域图解读)
  • 超越CRUD:用人人开源的代码生成器(renren-generator)定制你的专属业务模块
  • 在自动化内容生成工作流中集成 Taotoken 实现模型灵活切换
  • U盘版小龙虾教程
  • 2026 年 10 款桌面云横评 靠谱选型解决权限难管控痛点
  • 学习笔记。
  • 保姆级教程:用NumPy和SciPy从零实现DeLong检验(附完整代码与避坑指南)
  • VRX水面机器人仿真平台:构建智能水上机器人的终极解决方案
  • 2026年前置仓便利店加盟避坑及主流品牌盘点 - 资讯焦点
  • 3步搞定MySQL元数据管理:OpenMetadata实战指南
  • 中小团队如何利用taotoken统一管理多个ai项目的api调用
  • 猫抓浏览器扩展:3分钟掌握终极网页资源嗅探工具
  • 2026年维普算法突袭:如何应对更严苛AIGC检测?实测好用降AI工具清单 - 降AI实验室