news 2026/10/12 3:54:55

打卡信奥刷题(3622)用C++实现信奥题 P11827 [TOIP2024] 大步小步向前走

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
打卡信奥刷题(3622)用C++实现信奥题 P11827 [TOIP2024] 大步小步向前走

P11827 [TOIP2024] 大步小步向前走

题目背景

本题的 Special Judge 由 CuteMurasame 重构,以符合 -std=c++14 标准。

题目描述

五条圣是电门中学的学生,他的梦想是成为职业足球选手。虽然他因为想每天练习足球而不想去上学,但为了不违反国民教育法第二章第3 33条,他还是乖乖的去上学。

五条圣家到学校的路是一条直线道路,我们把五条圣家到学校的路以一条数线表示,五条圣家在坐标0 00米处,学校在坐标e ee米处。

五条圣通过刻苦练习,习得了k kk种前进的步法,第j jj种步法可以前进恰好s j s_jsj​米,他希望应用这些步法在足球比赛中。
为了多多练习这些步法,五条圣在上学路上不会用这些步法以外的方式前进。
为了避免迟到,五条圣也不会往回跳,只会笔直往学校前进。

不幸的是,这条路上有n nn个坑洞,第i ii个坑洞在坐标a i a_iai​米处。
因此如果五条圣落脚在a i a_iai​米处,则他的脚会受伤导致他不能完成他足球员的梦想,这是他一定要避免的。

给定学校坐标、坑洞位置以及五条圣练成的步法长度,五条圣想要你帮他找出最佳的迈步方式,满足下列条件:

  1. 避开所有坑洞。
  2. 最后恰好停在e ee米处。
  3. 最大步法使用的次数越多越好。
  4. 若存在多种最大步法次数最多的方式,第二大的步法使用的次数越多越好。
  5. 若还有多种方法,以此类推比较第三大、第四大、⋯ \cdots⋯、第k kk大的步法次数。

输入格式

n nnk kke ee
a 1 a_1a1​a 2 a_2a2​a 3 a_3a3​⋯ \cdots⋯a n a_nan​
s 1 s_1s1​s 2 s_2s2​s 3 s_3s3​⋯ \cdots⋯s k s_ksk​

  • n , k , e n, k, en,k,e分别代表坑洞数、五条圣步法种类的数量以及学校坐标。
  • 第i ii个洞的坐标在a i a_iai​。
  • 第j jj种步法长度为s j s_jsj​。

输出格式

m mm
p 1 p_1p1​p 2 p_2p2​p 3 p_3p3​⋯ \cdots⋯p m p_mpm​

  • m mm为一正整数,代表最佳的迈步方式总共走几步。
  • p i p_ipi​均为正整数,代表第i ii步落脚在p i p_ipi​米处。
  • 若答案不唯一,输出任一符合所求的答案均可。

若不存在任何的迈步方式,输出一行− 1 -1−1。

输入输出样例 #1

输入 #1

3 2 8 1 3 4 4 2

输出 #1

3 2 6 8

输入输出样例 #2

输入 #2

3 2 9 3 4 1 4 2

输出 #2

-1

输入输出样例 #3

输入 #3

0 4 61 3 5 23 30

输出 #3

4 30 53 58 61

说明/提示

测试数据限制

  • 2 ≤ e ≤ 3 × 10 5 2 \le e \le 3 \times 10^52≤e≤3×105。
  • 0 ≤ n ≤ e − 1 0 \le n \le e - 10≤n≤e−1。
  • 2 ≤ k ≤ e 2 \le k \le e2≤k≤e。
  • 1 ≤ a i ≤ e − 1 1 \le a_i \le e - 11≤ai​≤e−1。
  • 1 ≤ s j ≤ e 1 \le s_j \le e1≤sj​≤e。
  • 1 ≤ k × ( e − n ) ≤ 3 × 10 5 1 \le k\times (e - n) \le 3 \times 10^51≤k×(e−n)≤3×105。
  • 上述变量均为整数。
  • 所有a i a_iai​互不相同。
  • 所有s j s_jsj​互不相同。

评分说明

本题共有一组子任务,条件限制如下所示。

每一组可有一或多组测试数据,

该组获得的分数 = 该组满分分数 × min ⁡ 测试数据 ∈ 该组 评分 ( 测试数据 ) 。 该组获得的分数 = 该组满分分数\times \min_{测试数据 \in 该组} 评分(测试数据)。该组获得的分数=该组满分分数×测试数据∈该组min​评分(测试数据)。

对一组测试数据,考虑问题描述中提到条件的符合与否:

  • 如果输出的答案不符合输出格式或不符合 1., 2., 或 3. 评分为0 00。
  • 如果输出的答案符合 1., 2., 和 3. 但不符合 4. 评分为0.2 0.20.2。
  • 如果输出的答案符合 1., 2., 3., 和 4. 但不符合 5. 评分为0.5 0.50.5。
  • 如果输出的答案符合 1., 2., 3., 4. 和 5. 评分为1 11。
子任务分数额外输入限制
1100 100100无额外限制。

C++实现

#include<bits/stdc++.h>usingnamespacestd;constintN=3e5+5,inf=0x3f3f3f3f;intn,k,e,a[N];boold[N],vis[N];vector<int>cnt[N];// 走到i坐标满足要求的走法intpre[N],ans[N],idd;// 从哪里来的signedmain(){cin.tie(0)->sync_with_stdio(0);cin>>n>>k>>e;for(inti=1;i<=n;i++){intx;cin>>x;d[x]=true;}for(inti=1;i<=k;i++){cin>>a[i];}sort(a+1,a+k+1,greater<int>());cnt[0].resize(k+1);vis[0]=true;for(inti=1;i<=e;i++){if(!d[i]){cnt[i].resize(k+1);for(intx=1;x<=k;x++){intj=i-a[x];if(j>=0&&!d[j]&&vis[j]){vis[i]=true;vector<int>tmp=cnt[j];tmp[x]++;if(cnt[i]<tmp){cnt[i]=tmp;pre[i]=j;}}}}}if(!vis[e]){cout<<-1;}else{intnow=e;while(now>0){ans[++idd]=now;now=pre[now];}cout<<idd<<'\n';for(inti=idd;i>0;i--){cout<<ans[i]<<' ';}}return0;}

后续

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/12 3:54:53

【软考信息安全】第十九章 Unix/Linux安全分析与防护

本文为软考信息安全工程师个人学习笔记&#xff0c;依据官方考试大纲与公开技术规范整理&#xff0c;仅用于学习交流&#xff0c;不作为商业用途。一、Unix/Linux操作系统层次结构 UNIX/Linux操作系统分为三层&#xff1a;层级名称说明最底层硬件层物理硬件平台中间层系统内核操…

作者头像 李华
网站建设 2026/10/12 3:54:53

【软考信息安全】第十九章 操作系统安全机制与Windows安全防护

本文为软考信息安全工程师个人学习笔记&#xff0c;依据官方考试大纲与公开技术规范整理&#xff0c;仅用于学习交流&#xff0c;不作为商业用途。一、操作系统安全概述 1.1 基本概念 操作系统安全是指满足安全策略要求&#xff0c;具有相应安全机制及功能&#xff0c;符合特定…

作者头像 李华
网站建设 2026/10/12 3:54:17

Java学习4 之 【接口、包、访问控制、枚举】

目录 1. 接口 1.1. 接口概念 1.2. Java 8 接口&#xff1a;default、static 1.3. 接口 vs 抽象类 1.4. 常见接口&#xff1a;Comparable 1.5. 常见接口&#xff1a;Cloneable 1.6. 引用赋值与克隆 1.7. 接口多态与冲突 2. 包与模块 2.1. 包的作用 2.2. 全限定名 2.…

作者头像 李华
网站建设 2026/10/12 3:54:10

基于Spring Boot的中学生心理健康管理系统设计实践

前阵子帮一个中学落地了一套基于 Spring Boot 的中学生心理健康管理系统&#xff0c;从需求梳理到部署上线折腾了差不多三周。这题看起来就是个常规的 Java 毕业设计&#xff0c;真正做起来才发现&#xff0c;心理健康这类业务和其他管理系统有本质区别——它不光是数据的增删改…

作者头像 李华
网站建设 2026/10/12 3:53:56

SQL基础精讲:九大动词、约束体系与建表语法全解析

简介&#xff1a;这份PPT课件面向高校计算机及相关专业学生&#xff0c;聚焦数据库系统概论第4章关系数据库标准语言SQL&#xff0c;帮助读者系统掌握SQL的核心概念与基础语法。内容从SQL概述切入&#xff0c;讲解其一体化、非过程化、面向集合等语言特点&#xff0c;并梳理数据…

作者头像 李华
网站建设 2026/10/12 3:53:35

选型测试做了两周,他的清单只剩三行

选数字人直播工具这件事&#xff0c;老何做成了哲学题。 一开始他在各个群里问推荐&#xff0c;收集了十几个品牌名。 然后挨个看官网&#xff0c;越看越晕&#xff0c;功能列表一家比一家长。 他索性换了个思路&#xff1a;不看功能&#xff0c;先看场景。他给自己画了一张表&…

作者头像 李华