夜雨聆风学习资料网

ARTICLE · 1278236

四道CSP-J 复赛真题,供信奥家长同学参考!

四道CSP-J 复赛真题,供信奥家长同学参考!

1、拼数(number)

【题目描述】

小 R 正在学习字符串处理。小 X 给了小 R 一个字符串 s,其中 s 仅包含小写英文字母及数字,且包含至少一个 1 ∼ 9 中的数字。小 X 希望小 R 使用 s 中的任意多个数字,按任意顺序拼成一个正整数。

注意:小 R 可以选择 s 中相同的数字,但每个数字只能使用一次。例如,若 s 为 1a01b,则小 R 可以同时选择第 1、3、4 个字符,分别为 1、0、1,拼成正整数 101 或 110;但小 R 不能拼成正整数 111,因为 s 仅包含两个数字 1。

小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出他能拼成的正整数的最大值。

【输入格式】

从文件 number.in 中读入数据。

输入的第一行包含一个字符串 s,表示小 X 给小 R 的字符串。

【输出格式】

输出到文件 number.out 中。

输出一行一个正整数,表示小 R 能拼成的正整数的最大值。

【样例 1】

输入:

5

输出:

5

【样例 1 解释】

s 仅包含一个数字 5,因此小 R 仅能拼成正整数 5。

【样例 2】

输入:

290es1q0

输出:

92100

【样例 2 解释】

s 包含数字 2、9、0、1、0。可以证明,小 R 拼成的正整数的最大值为 92100。

【数据范围】

设 |s| 为字符串 s 的长度。对于所有测试数据,保证:

  • 1 ≤ |s| ≤ 10⁶;
  • s 仅包含小写英文字母及数字,且包含至少一个 1 ∼ 9 中的数字。

特殊性质 A:s 仅包含数字。特殊性质 B:s 仅包含不超过 10³ 个数字。

2、座位(seat)

【题目描述】

CSP-J 2025 第二轮正在进行。小 R 所在的考场共有 n × m 名考生,其中所有考生的 CSP-J 2025 第一轮成绩互不相同。所有 n × m 名考生将按照 CSP-J 2025 第一轮的成绩,由高到低蛇形分配座位,排列成 n 行 m 列。

具体地,设小 R 所在的考场的所有考生的成绩从高到低分别为 s₁ > s₂ > · · · > s_{n×m},则成绩为 s₁ 的考生的座位为第 1 列第 1 行,成绩为 s₂ 的考生的座位为第 1 列第 2 行,……,成绩为 sₙ 的考生的座位为第 1 列第 n 行,成绩为 s_{n+1} 的考生的座位为第 2 列第 n 行,……,成绩为 s_{2n} 的考生的座位为第 2 列第 1 行,成绩为 s_{2n+1} 的考生的座位为第 3 列第 1 行,以此类推。

也就是说:奇数列从上往下填,偶数列从下往上填,填完一列再填下一列。

给定小 R 所在的考场座位的行数 n 与列数 m,以及小 R 所在的考场的所有考生 CSP-J 2025 第一轮的成绩 a₁, a₂, . . . , a_{n×m},其中 a₁ 为小 R 的成绩,你需要帮助小 R 求出,他的座位为第几列第几行。

【输入格式】

从文件 seat.in 中读入数据。

输入的第一行包含两个正整数 n, m,分别表示小 R 所在的考场座位的行数与列数。

输入的第二行包含 n × m 个正整数 a₁, a₂, . . . , a_{n×m},分别表示所有考生的成绩,其中 a₁ 为小 R 的成绩。

【输出格式】

输出到文件 seat.out 中。

输出一行两个正整数 c, r,表示小 R 的座位为第 c 列第 r 行。

【样例 1】

输入:

22991009798

输出:

12

【样例 1 解释】

按照成绩从高到低的顺序,成绩为 100 的考生坐第 1 列第 1 行,99 坐第 1 列第 2 行,98 坐第 2 列第 2 行,97 坐第 2 列第 1 行。小 R 成绩为 99,因此座位为第 1 列第 2 行。

【样例 2】

输入:

22989910097

输出:

22

【样例 2 解释】

小 R 成绩为 98,排第 3 名,座位为第 2 列第 2 行。

【样例 3】

输入:

339495969798991009392

输出:

31

【数据范围】

对于所有测试数据,保证:

  • 1 ≤ n ≤ 10,1 ≤ m ≤ 10;
  • 对于所有 1 ≤ i ≤ n × m,均有 1 ≤ aᵢ ≤ 100,且 a₁, a₂, . . . , a_{n×m} 互不相同。

特殊性质 A:对于所有 1 ≤ i ≤ n × m,均有 aᵢ = i。特殊性质 B:对于所有 1 ≤ i ≤ n × m,均有 aᵢ = n × m − i + 1。

3、异或和(xor)

【题目描述】

小 R 有一个长度为 n 的非负整数序列 a₁, a₂, . . . , aₙ。定义一个区间 [l, r] (1 ≤ l ≤ r ≤ n) 的权值为 aₗ, aₗ₊₁, . . . , aᵣ 的二进制按位异或和,即 aₗ ⊕ aₗ₊₁ ⊕ · · · ⊕ aᵣ,其中 ⊕ 表示二进制按位异或。

小 X 给了小 R 一个非负整数 k。小 X 希望小 R 选择序列中尽可能多的不相交的区间,使得每个区间的权值均为 k。两个区间 [l₁, r₁]、[l₂, r₂] 相交当且仅当两个区间同时包含至少一个相同的下标。

例如,对于序列 [2, 1, 0, 3],若 k = 2,则小 R 可以选择区间 [1, 1] 和区间 [2, 4],权值分别为 2 和 1 ⊕ 0 ⊕ 3 = 2;若 k = 3,则小 R 可以选择区间 [1, 2] 和区间 [4, 4],权值分别为 2 ⊕ 1 = 3 和 3。

你需要帮助小 R 求出他能选出的区间数量的最大值。

【输入格式】

从文件 xor.in 中读入数据。

输入的第一行包含两个非负整数 n, k,分别表示序列的长度和小 X 给的整数。

输入的第二行包含 n 个非负整数 a₁, a₂, . . . , aₙ,表示这个序列。

【输出格式】

输出到文件 xor.out 中。

输出一行一个非负整数,表示小 R 能选出的区间数量的最大值。

【样例 1】

输入:

422103

输出:

2

【样例 1 解释】

可以选区间 [1, 1] 和 [2, 4],异或和分别为 2 和 1 ⊕ 0 ⊕ 3 = 2。最多能选 2 个。

【样例 2】

输入:

432103

输出:

2

【样例 2 解释】

可以选区间 [1, 2] 和 [4, 4],异或和分别为 2 ⊕ 1 = 3 和 3。最多能选 2 个。

【样例 3】

输入:

402103

输出:

1

【样例 3 解释】

可以选区间 [3, 3],异或和为 0。最多能选 1 个。注意:不能同时选 [3, 3] 和 [1, 4],因为这两个区间都包含下标 3。

【数据范围】

对于所有测试数据,保证:

  • 1 ≤ n ≤ 5 × 10⁵,0 ≤ k < 2²⁰;
  • 对于所有 1 ≤ i ≤ n,均有 0 ≤ aᵢ < 2²⁰。

特殊性质 A:所有 aᵢ = 1。特殊性质 B:所有 0 ≤ aᵢ ≤ 1。特殊性质 C:所有 0 ≤ aᵢ ≤ 255。

4、多边形(polygon)

【题目描述】

小 R 喜欢玩小木棍。小 R 有 n 根小木棍,第 i (1 ≤ i ≤ n) 根小木棍的长度为 aᵢ。

小 X 希望小 R 从这 n 根小木棍中选出若干根小木棍,将它们按任意顺序首尾相连拼成一个多边形。小 R 并不知道小木棍能拼成多边形的条件,于是小 X 直接将条件告诉了他:对于长度分别为 l₁, l₂, . . . , lₘ 的 m 根小木棍,这 m 根小木棍能拼成一个多边形当且仅当 m ≥ 3 且所有小木棍的长度之和大于所有小木棍的长度最大值的两倍,即

∑ᵢ₌₁ᵐ lᵢ > 2 × maxᵢ₌₁ᵐ lᵢ

由于小 R 知道了条件,小 X 提出了一个更难的问题:有多少种选择小木棍的方案,使得选出的小木棍能够拼成一个多边形?两种方案不同当且仅当选择的小木棍的下标集合不同。由于答案可能较大,你只需要求出答案对 998244353 取模后的结果。

【输入格式】

从文件 polygon.in 中读入数据。

输入的第一行包含一个正整数 n,表示小木棍的数量。

输入的第二行包含 n 个正整数 a₁, a₂, . . . , aₙ,表示每根小木棍的长度。

【输出格式】

输出到文件 polygon.out 中。

输出一行一个非负整数,表示方案数对 998244353 取模后的结果。

【样例 1】

输入:

512345

输出:

9

【样例 1 解释】

共有 9 种方案:{2,3,4}、{2,4,5}、{3,4,5}、{1,2,3,4}、{1,2,3,5}、{1,2,4,5}、{1,3,4,5}、{2,3,4,5}、{1,2,3,4,5}(数字为木棍下标)。例如选第 2、3、4 根,长度和 2 + 3 + 4 = 9,最大值 4,9 > 8,成立。

【样例 2】

输入:

5223810

输出:

6

【样例 2 解释】

共 6 种方案:{1,2,3}、{3,4,5}、{1,2,4,5}、{1,3,4,5}、{2,3,4,5}、{1,2,3,4,5}。

【数据范围】

对于所有测试数据,保证:

  • 3 ≤ n ≤ 5000;
  • 对于所有 1 ≤ i ≤ n,均有 1 ≤ aᵢ ≤ 5000。

推荐阅读:

2026年CSP—J真题,对信奥感兴趣的家长同学参考!

CSP-J/S 2026 评级线公布!入门组暴涨9分?

CSP-J/S评级全国统一线,对孩子是机遇还是挑战?

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料