求大佬的题解
  • 板块灌水区
  • 楼主YHTLB
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/1/20 18:43
  • 上次更新2025/1/20 21:22:25
查看原帖
求大佬的题解
1109158
YHTLB楼主2025/1/20 18:43

宝可梦 题目描述 小A下达命令让宝可梦们站成一行。不妨认为它们站在了一个数轴上,每个宝可梦的位置就是它脚下数轴的数字。小A会告诉你,第

i 个宝可梦的位置为

a i ​ 。不保证

a i ​ 升序。 数轴的长度是有限制的,具体的范围是 [ −

,

] [−k,k] 。也就是说,如果某个宝可梦移出了这个范围,它就脱离了这个队列了,并且不会再次回到队列当中。 为了训练宝可梦,小A给宝可梦们下达了

m 个指令,有以下 3 种: 指令 1:全体宝可梦向数轴的正方向移动

x 个单位长度。 指令 2:全体宝可梦往数轴的反方向移动

x 个单位长度。 指令 3:依次报数,统计目前队列里一共有多少个宝可梦。 小A希望你告诉他所有指令 3 的结果。 输入格式 第一行共有 3 3 个整数 , n,m,k,含义如题面所示。 第二行共有 n 个整数 1 , 2 , ⋯ , a 1 ​ ,a 2 ​ ,⋯,a n ​ ,表示每个宝可梦的位置。 接下来 m 行,有 1 1 或者 2 2 个正整数,描述一条指令。首先是一个整数 op ⁡ op,表示这条指令的类型。如果 1 ≤ op ⁡ ≤ 2 1≤op≤2,接下来还会输入一个整数 x。 输出格式 对于每条指令 3 ,输出一个整数,表示目前还在队列中的宝可梦的数目。 样例 #1 样例输入 #1 3 4 3 -1 1 2 2 3 3 1 5 3 样例输出 #1 2 1 提示 样例 1 说明 一共有三个宝可梦。初始时,它们的站位分别是 [ − 1 , 1 , 2 ] [−1,1,2] 。 第一次操作后,所有宝可梦向左移动 3 3 格,位置变成了 [ − 4 ‾ , − 2 , − 1 ] [ −4 ​ ,−2,−1] 。第一个宝可梦被移出了数轴。 第二次操作后,输出当前的宝可梦数目,为 2 2 个。 第三次操作后,所有宝可梦向右移动 5 5 格,位置变成了 [ 3 , 4 ‾ ] [3, 4 ​ ] ,第二个宝可梦被移出了数轴。 第四次操作后,输出当前的宝可梦数目,为 1 1 个。 数据规模与约定 对于 30 % 30% 的数据, 1 ≤ , ≤ 5 × 1 0 3 1≤n,m≤5×10 3 ; 对于另外 20 % 20% 的数据, 1 ≤ ≤ 500 1≤k≤500; 对于 100 % 100% 的数据, 1 ≤ , ≤ 3 × 1 0 5 1≤n,m≤3×10 5 , 1 ≤ , ≤ 2 × 1 0 9 1≤k,x≤2×10 9 , − ≤ ≤ −k≤a i ​ ≤k 。

2025/1/20 18:43
加载中...