- 博客(7)
- 收藏
- 关注
原创 CCF-CSP第38次认证第一题——正态分布(满分题解)
给定服从正态分布的随机变量 X∼N(μ,σ²),现需计算 P(X≤n) 的概率值。附注:图1所示为标准正态分布表的部分数据,展示m值在0.00至1.49范围内的概率值(步长0.01)。表中数据按列显示m的百分位,按行显示m的整数位和十分位。该表可继续扩展至更大的m值范围。如图2所示,Z≤1 的概率即为阴影部分的面积,查看表中 1.0对应行、0.00 对应列即可得到近似结果 0.8413。
2025-09-01 18:31:18
249
原创 CCF-CSP第37次认证第四题——集体锻炼(满分题解)
我没写暴力解法,用的是线段树,线段树可以优化求解gcd的部分,但是不能优化gcd*l*r的部分,所以时间复杂度还是。,我们可以将相同的gcd合并计算。需要注意的是,相同gcd对应的右端点必然连续,因此可以使用求和公式进行计算。我们可以固定一个端点,然后遍历另一端的gcd值。由于不同的gcd值最多只有。将所有区间内的最大公约数算出来,再求和,可得30分。对于n个数字的gcd,其变化次数最多为。左端点n个,对于每个左端点最多有。个公约数,所以最后的时间复杂度为。
2025-08-31 12:23:19
528
原创 CCF-CSP第36次认证第四题——跳房子(满分题解)
这道题可以抽象成一个图,以样例一来说,从点一可以到达自身或者是跳到点二,点二可以跳到自身或者是点三四五,考察的是单源最短路,使用bfs或者迪杰斯特拉等可以过第一个样例点(30分)。这里我使用flag记录已经到达过的最远点(这里指的是没有向前跳的时候所达到的位置),对于bfs中每次取出的点,我们直接从已经到达过的最远点开始遍历即可。根本原因是会多次试图访问已走过的点,所以对于已经访问过的点,我们需要使用某种方法跳过他。但是这样做会超时,这里即使使用不同的方法都会超时。
2025-08-31 10:57:43
330
原创 CCF-CSP第37次认证第三题——模板展开(满分题解)
使用getline配合stringstream读取字符串数据,注意在调用getline前需执行getchar或ignore操作以清除缓冲区。图结构采用链式前向星存储方式,与常规前向星的区别在于不记录边权值,而是记录点权值。将字符串映射为数字值,并将字符串间的嵌套关系视为图结构。对存在间接赋值关系的语句执行加边操作,最终查询操作通过一次DFS完成。记忆化搜索,注意是在每一轮内部记忆化,即在每一轮开始的时候将vis数组归零,如果全局记忆化会有神奇的影响导致答案不对。
2025-08-30 12:39:04
382
原创 CCF-CSP第38次认证第三题——消息解码(满分题解)
本文实现了一个消息编解码系统,主要功能包括:1. 处理两种消息类型(简单/复杂消息);2. 实现二进制串与字符编码的相互转换;3. 使用哈希表存储12位/25位散列值映射;4. 支持38进制(含数字、字母、_)和短数字编码转换。系统通过快速幂、位运算等优化处理效率,并处理了多种边界情况(如零值、特殊字符等)。核心算法包括哈希值计算、字符串压缩和解码查询,最终输出符合规范的编解码结果。
2025-08-29 23:30:12
929
原创 CCF-CSP第36次认证第三题——缓存模拟(满分题解)
本文实现了一个LRU缓存算法,使用双端队列维护最近操作元素。核心思路是将新元素插入队头,淘汰队尾最久未使用的元素。代码使用in数组跟踪缓存内容,st数组记录修改状态。处理读取操作时,若命中缓存则直接读取并更新队列;若未命中则根据缓存容量处理,需要时淘汰队尾元素并处理脏数据。写入操作类似,但会标记修改状态。算法通过双端队列高效维护访问顺序,并正确处理缓存替换和脏数据写回。
2025-08-29 20:07:54
323
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人