3347 问题 C: 蓝桥杯2025年第十六届省赛真题-冷热数据队列

 时间限制: 1s 内存限制: 256MB
题目描述

小蓝是一名计算机专业的学生,最近他学习了《操作系统》、《数据结构》 等课程,他设计了一种名为 “冷热数据队列” 的数据结构,来对数据页进行管理。 

冷热数据队列 q 可以看做由两个子队列组成:长度为 n1 的热数据队列 q1 和长度为 n2 的冷数据队列 q2 。当我们需要访问某个数据页 p 时:

1)若 p 不在队列 q 中(即既不在 q1 中,也不在 q2 中),则加载数据页 p ,并插入到 q2 的首部。 

2)若 p 已经在队列 q 中,则将 p 移动至 q1 首部。 

3)当 q1 或 q2 队列容量不足时,会将其尾部的数据页淘汰出去。 

4)当 q1 已满,但 q2 未满时,从 q1 中淘汰出的数据页会移动到 q2 首部。

输入

输入的第一行包含两个正整数 n1, n2 ,用一个空格分隔。 

第二行包含一个整数 m ,表示操作次数。 

第三行包含 m 个正整数 v1, v2, · · · , vm ,表示依次访问到的数据页的编号, 相邻整数之间使用一个空格分隔。

输出

输出两行。 

第一行包含若干个整数,相邻整数之间使用一个空格分隔,依次表示 q1 中 的数据页。 

第二行包含若干个整数,相邻整数之间使用一个空格分隔,依次表示 q2 中 的数据页。

样例输入

3 3
10
1 2 3 4 3 2 2 1 3 4

样例输出

4 3 2
1
提示

【样例说明】

                                                       屏幕截图 2025-04-16 104717.png

【评测用例规模与约定】 

对于 20% 的评测用例,1 ≤ n1, n2 ≤ 10 ,1 ≤ m ≤ 10 ; 

对于 40% 的评测用例,1 ≤ n1, n2 ≤ 20 ,1 ≤ m ≤ 100 ; 

对于 60% 的评测用例,1 ≤ n1, n2 ≤ 100 ,1 ≤ m ≤ 1000 ; 

对于 80% 的评测用例,1 ≤ n1, n2 ≤ 103 , 1 ≤ m ≤ 104 ; 

对于所有评测用例,1 ≤ n1, n2 ≤ 104 ,1 ≤ m ≤ 105 ,0 ≤ vi ≤ 104

比赛公告

2025年第十六届蓝桥杯软件赛省赛C/C++研究生组真题

试题 A: 数位倍数 (本题总分:5 分) 

【问题描述】 

请问在 1 至 202504 (含)中,有多少个数的各个数位之和是 5 的整数倍。 例如:5 、19 、8025 都是这样的数。 

【答案提交】 

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


试题 B: IPv6 (本题总分:5 分) 

【问题描述】 

小蓝最近在学习网络工程相关的知识。他最近学习到,IPv6 地址本质上是 一个 128 位的二进制数,而字符串形式的 IPv6 地址是由被冒号分开的八段 16 进制数组成的, 例如,下面每行是一个字符串形式的 IPv6 地址: 

0000:0000:0000:0000:0000:0000:0000:0000 

0000:0001:0000:0000:0000:0001:0000:0000 

0000:0001:00ab:0000:0023:0000:0a00:0e00 

0000:0000:00ab:0000:000a:0001:0a00:0e00 

0000:0000:00ab:0000:0000:0001:0a00:0e00 

其中,每一段最长 4 位,且每一段的前导零都可以去掉(如果 4 位都为 0 需要写成 0)。 

另外,IPv6 地址还可以将其中相邻的值为 0 的段合并压缩起来,用两个冒 号来表示,不过只能压缩一段。 

例如上述地址最短的压缩后的形式分别为 

:: 

0:1::1:0:0 

0:1:ab::23:0:a00:e00 

::ab:0:a:1:a00:e00 

0:0:ab::1:a00:e00 

小蓝想知道, 所有 IPv6 地址的最短压缩形式的长度的和为多少?由于答案 很大(甚至超过了 128 位二进制整数的范围),请填写答案时填写这个总和除以 109 + 7 的余数。


【答案提交】 

这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个 整数(在 0 到 109 + 6 的范围内),在提交答案时只填写这个整数,填写多余的 内容将无法得分。