CSP备考
文章平均质量分 59
LOST P
坚持开源精神
[email protected]
https://github.com/Fu2003120
展开
-
【CSP考点总结】(4)
fstream>ifstream用于从文件读取数据,ofstream用于向文件写入数据,以及fstream可以同时进行读写操作。这些类都定义在头文件<fstream>中。原创 2024-04-01 11:17:47 · 1053 阅读 · 0 评论 -
【CSP考点总结】(3)
Dijkstra算法是一种用于在图中找到从单一源点到所有其他节点的最短路径的算法。原创 2024-04-01 11:17:16 · 247 阅读 · 0 评论 -
【CSP考点总结】(2)
intint。原创 2024-04-01 11:16:30 · 889 阅读 · 0 评论 -
【CSP考点总结】(1)
定义。原创 2024-04-01 11:15:21 · 644 阅读 · 0 评论 -
【CSP考点总结】STL库函数
这段文本概括了C++标准模板库中的几种容器:vector、set、map、stack、和queue,以及它们的基本操作。Vector 是一个可动态扩展的数组,支持随机访问。常用操作包括添加、插入、删除元素,以及清空vector。Set 是一个存储唯一元素的有序集合,不允许重复值。元素的插入、查找、删除操作都是自动维护元素的顺序,且效率较高。Map 是一种关联数组,存储键值对,键是唯一的。提供对元素的快速访问,支持插入、查找、删除键值对等等原创 2024-04-01 11:11:40 · 1084 阅读 · 0 评论 -
【CSP考题扩展】动态规划入门(1)
动态规划(Dynamic Programming,简称DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学等领域中使用的,用来解决特定类型问题的算法思想。其核心思想在于解决复杂问题的过程中,把问题分解为相对简单的子问题,通过解决这些子问题来解决整个问题。原创 2024-03-30 15:04:47 · 1074 阅读 · 0 评论 -
【CSP试题回顾】201503-2-数字排序(优化)
【代码】【CSP试题回顾】201503-2-数字排序(优化)原创 2024-03-30 13:18:31 · 214 阅读 · 0 评论 -
【CSP试题回顾】201503-1-图像旋转(优化)
【代码】【CSP试题回顾】201503-1-图像旋转(优化)原创 2024-03-30 13:01:37 · 155 阅读 · 0 评论 -
【CSP试题回顾】202303-2-垦田计划(再优化)
【代码】【CSP试题回顾】202303-2-垦田计划(再优化)原创 2024-03-29 22:53:06 · 166 阅读 · 0 评论 -
【CSP考题扩展】递推求解(1)
递推算法是一种通过已知初始条件,依次推导出问题所有解的方法。它根据问题的结构特征,将问题分解为多个相似的子问题,通过解决较小的子问题来解决原问题。递推算法通常以简单直观的方式实现,通过迭代步骤逐步扩展解的范围。在实践中,递推算法用于求解诸如斐波那契数列、动态规划等问题,其核心思想是“从已知出发,逐步推进至未知”。递推的过程中,重要的是确定递推关系式,即每一步如何从前一步的结果导出下一步的结果。原创 2024-03-29 17:32:24 · 691 阅读 · 0 评论 -
【CSP试题回顾】201609-1-最大波动(优化)
【代码】【CSP试题回顾】201609-1-最大波动(优化)原创 2024-03-29 10:41:07 · 149 阅读 · 0 评论 -
【CSP试题回顾】201703-1-分蛋糕(优化)
【代码】【CSP试题回顾】201703-1-分蛋糕(优化)原创 2024-03-28 21:13:42 · 161 阅读 · 0 评论 -
【CSP试题回顾】201612-2-工资计算(优化)
代码实现了一个基于中国个人所得税计算规则的程序,用于反向计算出一个人的税前工资S,给定他的税后所得T。程序先通过一系列变量初始化,包括税后所得T、扣除起征点后的金额A、起始税前工资S,以及几个数组用于存储税率变化的阈值和比例。输入T后,如果T不超过起征点3500元,则直接返回T作为税前工资。否则,程序计算超出起征点的部分A,并通过循环确定A属于哪个税率区间。在找到正确的区间后,利用该区间的税后比例k,逆推出在该区间内的税前所得,累加到S中,最终得到并输出完整的税前工资S。原创 2024-03-28 20:51:48 · 287 阅读 · 0 评论 -
【CSP试题回顾】201703-2-学生排队(优化)
这个程序通过直接模拟移动过程来实现题目的要求,适合处理小到中等规模的数据。在每次调整过程中,通过寻找学号对应的索引、计算新的插入位置,以及在`vector`中插入和删除元素,来达成学号的移动。这种方法直观并且易于理解,但在处理大量学生和大量移动指令时,效率可能会受到影响,因为`vector`的插入和删除操作可能会导致频繁的内存分配和数据移动。原创 2024-03-28 19:45:23 · 385 阅读 · 0 评论 -
【CSP试题回顾】201709-2-公共钥匙盒(优化)
代码实现中,使用了一个结构体`key`来存储每个操作的详细信息,包括操作发生的时间、操作类型(取还)以及钥匙编号。利用这个结构体,可以清晰地管理所有的操作,并按照规定的规则对这些操作进行排序和执行。这种方法有效地解决了问题,确保了最终的钥匙排列顺序能够正确地反映出所有操作的结果。原创 2024-03-28 19:18:13 · 407 阅读 · 0 评论 -
【CSP试题回顾】201712-2-游戏(优化)
本代码通过模拟一个围成圈的报数游戏来找出获胜者。代码首先接收两个整数n和k作为输入,n是参与游戏的小朋友总数,k是决定淘汰条件的数字。初始化编号和索引,利用向量存储在游戏中的小朋友。通过循环,依次判断每个报数是否满足淘汰条件。如果满足,相应的小朋友从向量中移除。如果不满足,索引更新到下一个小朋友。此过程重复直到只剩下一个小朋友,此时输出该小朋友的编号作为游戏获胜者。原创 2024-03-28 14:58:35 · 329 阅读 · 0 评论 -
【CSP试题回顾】201712-1-最小差值(优化)
【代码】【CSP试题回顾】201712-1-最小差值(优化)原创 2024-03-28 14:25:56 · 117 阅读 · 0 评论 -
【CSP试题回顾】201803-2-碰撞的小球(优化)
这个问题讨论的是一群小球在一条数轴上运动和碰撞的模拟。我们探索了两种思路:暴力枚举和一个优化策略。暴力枚举通过直接模拟每一秒中小球的移动和相互之间的碰撞来更新小球的位置,然而这种方法在小球数量多或模拟时间长时效率较低。为了提高效率,优化策略引入了小球的排序和索引机制,首先按照小球位置进行排序以便快速检测和处理碰撞,其次通过增加索引来保持小球的初始顺序,最终按照这个顺序输出小球的位置。这种方法通过减少不必要的比较和利用排序简化碰撞处理,显著提高了程序的运行效率。原创 2024-03-28 13:56:26 · 811 阅读 · 0 评论 -
【CSP试题回顾】201803-1-跳一跳(优化)
【代码】【CSP试题回顾】201803-1-跳一跳(优化)原创 2024-03-28 12:52:35 · 121 阅读 · 0 评论 -
【CSP试题回顾】201812-2-小明放学(优化)
本题目涉及智慧城市项目中的一个实际应用:使用智慧交通系统预估小明放学回家的时间。通过分析小明经过的每个路段和红绿灯,代码计算总耗时。核心在于处理遇到红绿灯时的逻辑:根据红绿灯当前状态(红、黄、绿)和小明到达时刻,决定是否需要等待及等待时间。红灯时可能需要等待红灯结束或整个周期;黄灯时需等待黄灯和随后的红灯;绿灯则通常无需等待,除非接近周期末尾转换为黄灯或红灯。该逻辑通过对小明已经花费的时间进行模运算,与红绿灯周期时间相比较,来判定具体的等待时间。最终,累加这些时间,得到小明回家所需的总时间。原创 2024-03-28 11:13:55 · 927 阅读 · 0 评论 -
【CSP试题回顾】201809-2-买菜(优化)
【代码】【CSP试题回顾】201809-2-买菜(优化)原创 2024-03-28 09:48:58 · 110 阅读 · 0 评论 -
【CSP试题回顾】201809-1-卖菜(优化)
【代码】【CSP试题回顾】201809-1-卖菜(优化)原创 2024-03-28 09:34:24 · 124 阅读 · 0 评论 -
【CSP试题回顾】201812-1-小明上学(优化)
【代码】【CSP试题回顾】201812-1-小明上学(优化)原创 2024-03-27 17:54:32 · 180 阅读 · 0 评论 -
【CSP试题回顾】201909-2-小明种苹果(续)(优化)
代码是解决一个特定编程问题的实现,其中涉及到处理一系列苹果树的数据,用以判定每棵树苹果是否掉落,计算总苹果数以及统计特定的掉落情况。初始时,总苹果数、掉落苹果树的数量和连续掉落的树的数量都设置为零。程序遍历每棵苹果树的记录,如果记录表明苹果数有变动,则更新当前苹果数,如果变动为正且与当前记录不符,标记为掉落。之后,更新总苹果数。最后,检查并计算有多少棵树掉落了苹果,以及有多少连续的树掉落了苹果。输出这三个计数:总苹果数、掉落苹果树的数量和连续掉落的树的数量。原创 2024-03-27 17:46:11 · 479 阅读 · 0 评论 -
【CSP试题回顾】201909-1-小明种苹果(优化)
【代码】【CSP试题回顾】201909-1-小明种苹果(优化)原创 2024-03-27 16:52:55 · 168 阅读 · 0 评论 -
【CSP试题回顾】201903-2-二十四点(优化)
【代码】【CSP试题回顾】201903-2-二十四点(优化)原创 2024-03-27 16:39:45 · 205 阅读 · 0 评论 -
【CSP试题回顾】201912-1-报数(优化)
【代码】【CSP试题回顾】201912-1-报数(优化)原创 2024-03-27 16:28:42 · 369 阅读 · 0 评论 -
【CSP试题回顾】202312-1-仓库规划(优化)
【代码】【CSP试题回顾】202312-1-仓库规划(优化)原创 2024-03-27 15:41:36 · 164 阅读 · 0 评论 -
【CSP试题回顾】201912-2-回收站选址(优化)
该代码通过使用映射和向量来优化数据的组织和访问,显著降低了时间复杂度。它遍历所有点,检测每个点是否构成正方形的一部分,并统计每个点的得分。通过优化数据结构,时间复杂度从可能达到的O(n²)降低到O(n),有效提高了算法效率。原创 2024-03-26 21:59:38 · 766 阅读 · 0 评论 -
【CSP试题回顾】202006-1-线性分类器(优化)
【代码】【CSP试题回顾】202006-1-线性分类器(优化)原创 2024-03-26 19:48:10 · 345 阅读 · 0 评论 -
【CSP试题回顾】202009-2-风险人群筛查(优化)
这个CSP-202009-2风险人群筛查问题的解决方案包括输入处理、变量初始化、主循环逻辑、以及统计和输出结果四个主要部分。程序首先读入个体数、停留阈值、测量点数和检测区域坐标。然后,对每个个体,程序追踪其是否进入检测区域(havePassed)和是否在该区域内停留足够长时间(haveStayed)。在主循环中,程序检查每个测量点是否在区域内,相应更新状态和停留时间。循环结束后,如果个体在检测区域内的停留时间达到阈值,则更新其停留状态。最后,程序统计并输出通过和停留的个体总数。原创 2024-03-26 10:28:58 · 352 阅读 · 0 评论 -
【CSP试题回顾】202009-1-称检测点查询(优化)
【代码】【CSP试题回顾】202009-1-称检测点查询(优化)原创 2024-03-26 10:00:42 · 369 阅读 · 0 评论 -
【CSP试题回顾】202012-2-期末预测之最佳阈值(优化)
题目涉及找到最佳阈值以优化预测模型性能。首先,对样本特征值和真实结果进行读取和初始化,使用映射记录不同特征值下的真假样本数量,并存储所有可能阈值。预处理包括对样本特征排序,便于确定阈值。初始化部分设定最小特征值为初始阈值,并计算此阈值下的正确预测数。随后,通过遍历所有可能阈值(特征值),调整并更新正确预测次数;若当前阈值下预测改善,则更新最佳阈值与最大正确次数。最后输出能带来最多正确预预测的最佳阈值。这个过程通过减少重复计算,将时间复杂度从O(n²)降至O(n log n),有效提高处理大数据集的效率。原创 2024-03-26 09:44:27 · 677 阅读 · 0 评论 -
【CSP试题回顾】202012-1-期末预测之安全指数(优化)
【代码】【CSP试题回顾】202012-1-期末预测之安全指数(优化)原创 2024-03-26 08:22:37 · 192 阅读 · 0 评论 -
【CSP试题回顾】202104-2-邻域均值(优化)
在解决CSP-202104-2题目中,首先从输入获取四个整数:n(矩阵大小)、L(亮度上限)、r(局部区域半径)和t(暗像素阈值),初始化一个n×n的二维数组pic存储图像数据。接下来,构建一个(n+1)×(n+1)的二维前缀和数组prefixSum以便快速计算区域亮度总和,其中每个元素的值代表原图到当前位置形成矩形区域的像素亮度之和。在判断暗像素时,通过遍历每个像素并计算以它为中心的局部区域内所有像素的平均亮度,区域大小和位置考虑边界条件调整。原创 2024-03-26 00:25:17 · 980 阅读 · 0 评论 -
【CSP考点回顾】二维前缀和数组(代码实现)
前缀和数组是通过累加原始数组中的元素构建的,因此还原原始数组实质上是一个逆累加(或逆差分)的过程。在这个函数中,我们遍历扩展后的前缀和数组,使用类似于查询前缀和的反向过程来计算原始数组的每个元素。每个元素的值是由当前位置的前缀和减去其上方和左侧的前缀和,再加上其左上角(即前一个)的前缀和得到的。注意,在查询时,我们需要对原始数组的索引进行加1处理,因为我们的前缀和数组的起始索引是从1开始的,而非0。由于我们的前缀和数组是扩展过的,因此查询时的坐标也需要相应地调整。分别是原始数组的行数和列数。原创 2024-03-26 00:20:10 · 539 阅读 · 0 评论 -
【CSP试题回顾】202104-1-灰度直方图(优化)
【代码】【CSP试题回顾】202104-1-灰度直方图(优化)原创 2024-03-25 22:29:00 · 155 阅读 · 0 评论 -
【CSP试题回顾】202109-1-数组推导(优化)
【代码】【CSP试题回顾】202109-1-数组推导(优化)原创 2024-03-25 22:21:07 · 225 阅读 · 0 评论 -
【CSP试题回顾】202109-2-非零段划分(优化)
在解决特定子序列计数问题中,差分数组技术被用来标记数列中的“峰”和“谷”。首先,通过处理输入并去除重复元素,准备数列数据。然后,构建一个差分数组来记录数列中每个元素相对其相邻元素的变化。对于数列中的每个局部最大值(“峰”),在差分数组对应位置减一;对于每个局部最小值(“谷”),在差分数组对应位置加一。最后,通过遍历差分数组,累加变化量,来找出满足条件的子序列总数。这种方法能有效处理数列的区间更新问题,适用于快速计算出数列中满足特定条件的子序列数量。原创 2024-03-25 21:19:07 · 531 阅读 · 0 评论 -
【CSP试题回顾】202206-1-归一化处理(优化)
【代码】【CSP试题回顾】202206-1-归一化处理(优化)原创 2024-03-25 00:41:20 · 136 阅读 · 0 评论