CSP-J/S 2025年一等奖分数线预测,入门276分,提高95分

作者: | 更新日期:

写了一个评测程序,分享给教练,跑出了一个预估分数线。

本文首发于公众号:天空的代码世界,微信号:tiankonguse

零、背景

上篇文章《CSP-J/S 历年一等奖分数线与2025年预测》我只使用历史分数线与题目难度,通过纯算法来预测 2025 年的分数线。

纯公式预测

第一个模型是参考历年来一等奖分数线,建立线性回归模型,跑出的预测数据,误差非常大,很多省份的分数线明显不合理。
第二个模型是以 2024 年的分数线为基准,按 2025 年题目难度与 2024 年题目难度的比例进行线性调整,预测结果相对合理一些,但仍然有些省份分数线偏高。

后来,评论区有人提到,各个省的选手代码已经发布了,全下载下来,跑一遍评分程序,就能得到更准确的分数线预测。

所以,我就写了一个评测程序,分享给教练们,跑了一遍,得到了下面的预测结果。

PS: 评测的源码已上传到网盘,有需要的可以关注公众号,回复 CSP-2025 获取。

一、评测程序设计

题目测试数据官网有公布,我也分享在网盘里了。
官网地址: https://www.noi.cn/xw/2025-11-06/851619.shtml

网盘截图

考生的代码目录格式,官网也有介绍,我之前在文章《CSP-J/S 备赛必学之环境准备》分享过。

网盘截图

有了测试数据和选手代码,就可以写一个评测程序,来跑一遍选手的代码,收集结果,然后计算分数。

评测程序的主要流程如下:

1)遍历所有选手的代码目录,目录名就是选手的考试编号。
2)遍历每个选手的题目列表。
3)编译选手具体题目的代码,生成可执行文件。
4)针对每个题目的测试数据,运行可执行文件,收集输出结果。
5)对比输出结果与标准答案,计算每个测试点的得分。
6)根据评分规则,计算选手的总分。
7)将所有选手的分数进行汇总,计算出一等奖分数线。

当然,由于选手代码可能存在各种问题(编译错误、运行时错误、超时等),评测程序还需要处理这些异常情况,确保评测过程的稳定性和准确性。
尤其是超时问题,需要在运行选手代码时设置时间限制,防止程序无限运行。

针对评测运行较慢的问题,我实现了尾号分组评测,将整体评测速度提升了约 10 倍。
考虑到部分省份/赛制要求选手使用文件读写作为输入输出,而另一些则使用标准输入输出,我也同时支持这两种方式,以提高兼容性。

网盘截图

我之前在文章《CSP-J 2025 完整版题解》和《CSP-S 2025 完整版题解》。
准备这个完整版题解的时候,每道题我都写了不同得分的程序。
用这些代码构造出不同的考试代码,刚好可以用来测试评测程序。

网盘截图

测试评测结果如下,在官网的 NOI linux 系统上可以完美运行。

网盘截图

源码已上传到网盘,关注公众号回复 CSP-2025 可获取。

网盘截图

二、评测结果与分数线预测

代码测试可以正常运行后,我把代码分享给了几位各省的教练,教练们帮我跑了一下数据,从而预测出了一等奖分数线。

PS:由于评测机器性能、运行时长限制以及答案比对算法的差异,跑出的分数可能存在偏差,仅供参考。

各省的分数线预测如下。
没想到上一篇文章的第二个模型与本次评测预测结果相当接近。

网盘截图

三、最后

目前只有少数省份的教练帮忙在本地跑取了选手代码并生成预测,其他省份仍为估算,误差可能更大。

如果你是某省的教练,欢迎下载评测程序和测试数据,在本地跑一遍你们省的选手代码,然后把预测分数线在评论区或私信告诉我,我会整理并分享给大家。

另外,上一篇文章《CSP-J-山东 2022 比赛题解》反响不大。
我在纠结接下来应侧重哪类内容:继续发布题解、还是分享算法/编程技巧或比赛经验?
欢迎在评论区留下你们的想法。

《完》

-EOF-

本文公众号:天空的代码世界
个人微信号:tiankonguse
公众号 ID:tiankonguse-code

本文首发于公众号:天空的代码世界,微信号:tiankonguse
如果你想留言,可以在微信里面关注公众号进行留言。

关注公众号,接收最新消息

tiankonguse +
穿越