文章

CCC Junior 最后一题丢分在哪?4 道 J5 真题看数据范围

CCC Junior 第 5 题的分,有一大半只给能在时限内跑完的写法。用 2021、2022、2025、2026 四道 J5 真题,看分丢在哪、怎么练回来。

2026年10月15日

STEMRise 睿思教育 · STEMRise 撰稿

CCC
CCC Junior
加拿大计算机竞赛
滑铁卢大学
编程竞赛
算法
CCC Junior 最后一题丢分在哪?4 道 J5 真题看数据范围

CCC Junior 最后一题的分,常常丢在数据范围上:最后一两档只给能在时限内跑完的写法。先看上限,再找规律,是拿回这几分的路子。

视频截图:卡片写着“后面的题:有些分只给高效解法”,下面一行是 5 题、3 小时、每题 15 分、满分 75
CCC 每题 15 分,后面的题常按数据规模分档给分

先看规则:最后一题的分是怎么给的

CCC 一共 5 道题,3 个小时,每题 15 分。滑铁卢大学 CEMC 在比赛说明里写得很直白:一道题可以拆成几档(subtask),小一点、限制多一点的版本先给部分分;越往后的题,可能有一部分分,只给能在时限内跑完的高效解法。

75
CCC 满分:5 道题,每题 15 分

来源 · CEMC, University of Waterloo · 2027

Junior 第 5 题,官方大纲写的是“难度递进”:递归、二维数组、高效或巧妙的算法。下面这张表把四年的 J5 摆在一起,看需要高效写法的那几档,数据有多大、值几分。

年份题目需要高效写法的档这几档的分值关键办法
2026车位照明(Beams of Light)车位、灯、提问都到 50 万9 分差分加一遍累加
2025连通领地(Connecting Territories)行、列都到 2 万2 分价格用取模算,DP 只留两行
2022方形泳池(Square Pool)院子 50 万 × 50 万,树最多 100 棵7 分只围着树和边界找位置
2021现代艺术(Modern Art)500 万个格子,100 万次下笔5 分只数刷了单数次的行和列
近几年 CCC Junior 第 5 题:需要高效写法的档

题目和每档的分值都来自 CEMC 公布的各年 CCC Junior 题目,下面每一节都附了原题链接。

4 道真题,分丢在哪

四道题表面上分别像模拟、动态规划、搜索,真正卡分的是同一件事:程序要碰的格子或次数太多,跑不完,或者存不下。

2026 J5 车位照明:别每问一次都把灯查一遍

一排 N 个车位,挂着 L 盏灯,每盏灯照亮它底下和左右各 S 个车位;然后问 Q 次,某个车位亮不亮(2026 年原题)。最后一档 N、L、Q 都能到 50 万,占 15 分里的 9 分。每问一次就把所有灯查一遍,最坏是 50 万乘 50 万,也就是 2500 亿次检查,跑不完。

官方解析的说法是,最后两档 L 和 Q 都很大,不能再为每个问题逐盏查灯,要在回答之前先做准备:

For the last two subtasks, L and Q are both very large so we can no longer consider each light to answer each question. Instead, we need to do some work before starting to answer the questions. —— CEMC,2026 CCC Junior 官方解析
差分怎么算:每盏灯只改两个位置每盏灯照亮 P−S 到 P+S:→ 起点那一格 +1。起点那一格 +1:→ 终点后面一格 −1。终点后面一格 −1:→ 从左往右累加一遍。从左往右累加一遍:→ 累加值大于 0 的车位就亮。累加值大于 0 的车位就亮每盏灯照亮 P−S 到 P+S起点那一格 +1终点后面一格 −1从左往右累加一遍累加值大于 0 的车位就亮
  1. 开始:每盏灯照亮 P−S 到 P+S(→ 起点那一格 +1)
  2. 起点那一格 +1(→ 终点后面一格 −1)
  3. 终点后面一格 −1(→ 从左往右累加一遍)
  4. 从左往右累加一遍(→ 累加值大于 0 的车位就亮)
  5. 结束:累加值大于 0 的车位就亮
差分怎么算:每盏灯只改两个位置

这就是差分加一遍累加:每盏灯只记开头和结尾,最后从左往右加一遍,就知道每个车位被几盏灯照着。灯和提问再多,也只是各过一遍。

视频截图:卡片标题“差分:只记起点和终点”,三步依次是起点加一、终点后一格减一、从左往右累加
差分:每盏灯只动两个位置

2025 J5 连通领地:4 亿个格子存不下

地块的价格从左到右、一行接一行,按 1、2、3……M 循环。每行买一块,下一块要和上一块挨着(斜对角也算),问从第一行走到最后一行最少花多少钱。一看就是一行一行往下推的动态规划。

前三档行、列最多 100,整张表存下来没问题;最后一档行和列都到 2 万,整张表就是 4 亿个格子,内存吃不消。这一档值 2 分(2025 年原题)。

规律藏在价格里:第 r 行第 c 列的价格是 ((r−1)×C + c−1) mod M + 1,用到时现算,不用存。动态规划每一行只依赖上一行,所以只留上一行和这一行就够了。

视频截图:卡片写着“整张表要存的格子 4 亿”,下面一行 20 000 × 20 000
2 万 × 2 万的表,存下来就是 4 亿格

2022 J5 方形泳池:院子 50 万宽,树只有 100 棵

N×N 的院子里有 T 棵树,要找能放下的最大正方形泳池。前两档院子不超过 50 × 50,把所有位置和大小都试一遍就行;后两档院子到 50 万 × 50 万,树最多 100 棵,这两档一共 7 分(2022 年原题)。

CEMC 的官方解析直接说,这道题想拿 8 分以上特别难:

Earning more than 8 marks on J5 was especially difficult and intended to provide a significant challenge. —— CEMC,2022 CCC Junior 官方解析

关键是看到树很少,答案应该只跟树的数量有关,跟院子多大无关。官方给的思路:最大的泳池可以往上推,直到碰到树或边界;也可以往左推,直到碰到树或边界。所以泳池的上边和左边,各自只有 T+1 种可能。把这些组合挨个试,再看剩下的树和边界允许泳池多大,运算量只和树的数量有关。

2021 J5 现代艺术:只数单双

一块 M×N 的黑画布,每次刷一整行或一整列,黑变金、金变黑。最后一档 500 万个格子、100 万次下笔,这一档 5 分;一笔一笔真去涂,会超时(2021 年原题)。

一个格子最后是什么颜色,只看它那一行和那一列各被刷了几次:加起来是单数,就是金色。设刷了单数次的行有 r 行、列有 c 列,金色格子就是 r × (N − c) + (M − r) × c。拿官方样例验算:3×3 的画布刷第 1 行、再刷第 1 列,r = 1、c = 1,1×2 + 2×1 = 4,和标准答案一致。

视频截图:卡片标题“只看单数还是双数”,依次是行刷了几次、列刷了几次、加起来单数就是金色
颜色只看行、列被刷次数的单双

这四道题的共同点:先找规律,再写算法

四道题没有一道要超纲的新算法。差分、取模、只看单双、只围着树找位置,都是先在纸上把小数据写出来、看出规律,再用常规的循环和动态规划收尾。这和八九年级数学课上找数列的规律,其实是一回事。

反过来,只会套模板、不看数据范围的写法,通常能拿到小数据那几档。按上面的评分表,只能处理小数据的写法,2026 年最多 6 分,2025 年最多 13 分,2022 年最多 8 分,2021 年最多 10 分。

视频截图:老师站在黑板前讲解,学生坐在课桌前,头顶亮起一个灯泡
先在纸上找规律,再写代码

离 2027 年 2 月 17 日开考,这四个月怎么练

2027 年的 CCC 在 2 月 17 日(周三,南北美洲)举行,学校向 CEMC 订考的截止日是 2 月 11 日。从现在到开考大约四个月,可以按这四步排:

  1. 读题先看数据范围。把几个上限乘一乘,估一下程序要跑多少步;乘出来上亿,就别想着一格一格算。
  2. 小数据在纸上手推。把前几行、前几步写出来,规律常常自己冒出来。
  3. 先把小数据那几档的分拿稳。暴力写法也能拿分,交上去拿到了,再想满分的写法。
  4. 照考试的样子整套练。3 小时、5 道题,在 CCC 官方在线评测(CCC Online Grader,可以免费注册练习账号)上做往年整卷,每次复盘分丢在哪一题、哪一档。
视频截图:晚上学生在台灯下用电脑做题,墙上时钟显示时间,屏幕旁一个绿色对勾
限时 3 小时,整套做往年真题

想按这个节奏备赛,可以看看 STEMRise 的CCC Junior 备赛小班:5–8 人小班,万锦校区和线上同步。还没学过编程的孩子,先从编程课程里的 Python 基础开始,或者先做一次免费编程测评。想先了解这项比赛的来历,可以看滑铁卢大学 CEMC 编程挑战赛介绍。

常见问题

CCC Junior 和 Senior 该报哪个?

看水平,不看年级。CEMC 建议编程初级到中级的报 Junior,中级到高级的报 Senior。2022 年的官方解析还说,能在 J4 或 J5 上拿到分的孩子,下一年如果还符合条件,鼓励改考 Senior。

只会暴力写法,最后一题能拿几分?

看当年的评分表。按本文的四道题,只能处理小数据的写法,分别最多拿到 6 分(2026)、13 分(2025)、8 分(2022)和 10 分(2021)。

在哪里练往年真题?

CEMC 官网有往年题目和官方解析;CCC 官方在线评测可以免费注册练习账号,按比赛的样子提交、看结果。

考得好有什么证明?

CEMC 给成绩在全部参赛者前 25% 的人颁发 Certificate of Distinction(优秀证书)。2026 年 Junior 有 3421 人参赛(CEMC 比赛页)。

3421
2026 年 CCC Junior 参赛人数

来源 · CEMC, University of Waterloo · 2026


想规划相似路径?

从免费评估开始

我们会按孩子的当前情况,推荐合适的课程路径和 4 周提升计划。

查看课程体系