C++ 真题【洛谷】
文章平均质量分 81
坚持分享洛谷C++真题解析
QuantumStack
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++ 真题】P8686 [蓝桥杯 2019 省 A] 修改数组
摘要 题目要求将一个可能包含重复元素的数组修改为无重复元素的数组。处理方法是:从第二个元素开始,如果当前元素与之前元素重复,则不断加1直到找到未被使用的最小正整数。使用并查集数据结构高效实现这一过程,其中父节点数组f记录每个数的下一个可用位置。对于每个数a,通过find函数找到其最终的可用位置,并更新f数组。该解法时间复杂度接近线性,适用于大规模数据。原创 2025-08-22 11:46:07 · 461 阅读 · 0 评论 -
【C++ 真题】P8723 [蓝桥杯 2020 省 AB3] 乘法表
摘要 该题目要求生成指定进制P下的乘法表。输入P(2≤P≤36),输出P进制乘法表,其中大于等于10的数字用大写字母A-Z表示。解决方案是:对于每个i从1到P-1,j从1到i,计算i*j并转换为P进制表示。转换采用除基取余法,逆序输出结果。关键点包括进制转换处理和字母数字的对应转换。原创 2025-08-22 11:21:04 · 252 阅读 · 0 评论 -
【C++ 真题】P1143 进制转换
该题解实现了不同进制数之间的转换(2-16进制)。先将输入的数字字符串转换为十进制数,再通过除法和取余运算转换为目标进制。处理过程中考虑了10-15进制对应的大写字母表示,支持双向转换。算法分两步:1)将n进制数转为十进制;2)将十进制数转为m进制。代码简洁高效,适用于各种进制转换场景,特别是处理包含字母的16进制数转换。原创 2025-08-01 21:37:34 · 325 阅读 · 0 评论 -
【C++ 真题】P5018 [NOIP 2018 普及组] 对称二叉树
题目要求找出二叉树中节点数最多的对称子树。对称二叉树定义为:交换所有节点的左右子树后,新树与原树在结构和节点权值上完全相同。输入包括树的结构和各节点权值,输出最大对称子树的节点数。 解法采用递归思路:对于每个节点,检查其左右子树是否对称(通过递归比较左子树的左子树与右子树的右子树,以及左子树的右子树与右子树的左子树),并计算对称子树的节点数。最终遍历所有节点,找到最大对称子树。 样例1输出1(仅单个节点对称),样例2输出3(以节点7为根的子树对称)。算法时间复杂度为O(n^2),适用于n≤1e6的数据规模。原创 2025-08-01 21:33:03 · 726 阅读 · 0 评论 -
【C++ 真题】B3843 [GESP202306 三级] 密码合规
摘要 本题目要求编写程序检查用户输入的密码是否符合特定规则。合规密码需满足:1) 仅包含大小写字母、数字和!@#$四种特殊字符;2) 长度在6-12字符之间;3) 必须包含至少两种字符类型(大写、小写、数字)且至少包含一个特殊字符。程序将输入的逗号分隔字符串拆分为多个密码进行校验,输出所有合规密码,保持原输入顺序。示例输入"seHJ12!@,sjdkffH$123"中,前两个密码符合要求,后两个因长度超标和非法字符被排除。原创 2025-07-31 23:18:45 · 415 阅读 · 0 评论 -
【C++ 真题】P11231 [CSP-S 2024] 决斗
摘要:这道题目要求通过合理安排怪兽之间的攻击顺序,使得游戏结束时剩余怪兽数量最少。关键在于分析怪兽的攻击和防御机制,发现最终剩余怪兽数量等于攻击力值的最大出现次数。通过统计各攻击值的出现频率,取最大值即可得到答案。时间复杂度为O(n)。原创 2025-07-31 23:12:57 · 973 阅读 · 0 评论 -
【C++ 真题】P1067 [NOIP 2009 普及组] 多项式输出
这道题目要求按照特定格式输出一元n次多项式。输入给出多项式的次数n和各项系数,需要处理正负号、系数1/0、指数显示等特殊情况。解题关键在于逐项处理系数,根据规则输出符号、系数值、变量x和指数部分,注意处理首项符号、系数1省略、指数1简写等细节。代码实现中,需要遍历每个系数,根据其正负、是否为1以及对应次数,按规则拼接输出字符串。原创 2025-07-05 10:41:13 · 1106 阅读 · 0 评论 -
【C++ 真题】P1104 生日
这道题目需要将n个同学的生日按年龄从大到小排序,年龄相同则按输入顺序逆序输出。解法是定义结构体存储姓名、年月日和输入序号,然后自定义排序规则:先比较年份,年份小的在前;年份相同比较月份,月份小的在前;月份相同比较日期,日期小的在前;日期相同则按输入序号大的优先。最后按排序结果输出姓名即可。时间复杂度为O(nlogn)。原创 2025-07-05 10:38:24 · 944 阅读 · 0 评论 -
【C++ 真题】P3395 路障
B 君站在一个n×n的棋盘上。最开始,B君站在11这个点,他要走到nn这个点。B 君每秒可以向上下左右的某个方向移动一格,但是很不妙,C 君打算阻止 B 君的计划。,C 君 会在xy上摆一个路障。B 君不能走在路障上。B 君拿到了 C 君准备在哪些点放置路障。所以现在你需要判断,B 君能否成功走到nn。原创 2025-06-07 15:56:01 · 1156 阅读 · 0 评论 -
【C++ 真题】P1747 好奇怪的游戏
爱与愁的故事第三弹·shopping》娱乐章。调调口味来道水题。原创 2025-06-07 15:49:10 · 701 阅读 · 0 评论 -
【C++ 真题】CF776B Sherlock and his girlfriend
题目要求为Sherlock的珠宝上色,规则是当一件珠宝的价格是另一件珠宝价格的素因子时,它们的颜色不能相同,并且要最小化使用的颜色数量。珠宝的价格从2到n+1。通过判断每个价格是否为素数,可以确定所需的最少颜色数。如果所有价格都是素数,只需一种颜色;否则需要两种颜色。代码实现中,首先判断每个价格是否为素数,然后根据结果分配颜色。最终输出颜色种类数和每件珠宝的颜色。原创 2025-05-21 22:31:18 · 445 阅读 · 0 评论 -
【C++ 真题】P1304 哥德巴赫猜想
题目要求验证哥德巴赫猜想,即所有大于2的偶数都可以表示为两个质数之和。给定一个偶数N,程序需要输出从4到N的所有偶数,并找到每个偶数的最小质数对。程序首先定义了一个函数check来判断一个数是否为质数。然后在主函数中,遍历从4到N的所有偶数,对于每个偶数,从2开始寻找第一个质数,使得该偶数减去该质数后仍为质数,输出该质数对。程序通过循环和条件判断实现了这一功能,确保输出的质数对是第一个加数最小的方案。原创 2025-05-21 22:27:08 · 613 阅读 · 0 评论 -
【C++ 真题】P3383 【模板】线性筛素数
本题要求在线性时间内筛选出给定范围内的所有素数,并支持快速查询第 $k$ 小的素数。题目输入包括查询范围 $n$ 和查询次数 $q$,每次查询输出第 $k$ 小的素数。数据范围较大,$n$ 可达 $10^8$,$q$ 可达 $10^6$,因此需要高效的算法。 题解使用了线性筛法(欧拉筛)来预处理所有素数,时间复杂度为 $O(n)$。通过标记合数的方式,确保每个合数只被其最小质因数标记一次,从而避免重复计算。预处理后,查询第 $k$ 小的素数只需直接输出预先存储的素数数组中的对应元素,时间复杂度为 $O(1)原创 2025-05-21 22:21:53 · 1234 阅读 · 0 评论 -
【C++ 真题】P1075 [NOIP 2012 普及组] 质因数分解
题目要求对给定的正整数 ( n ) 进行质因数分解,并输出较大的那个质数。已知 ( n ) 是两个不同质数的乘积。解题思路是通过遍历从 2 到 ( \sqrt{n} ) 的所有整数,找到能整除 ( n ) 的数,并检查该数及其对应的商是否均为质数。如果是,则输出较大的质数。代码中使用了 is_prime 函数来判断一个数是否为质数,通过遍历可能的因数并验证其质数性质,最终输出结果。例如,输入 21,输出 7。原创 2025-05-21 22:15:34 · 314 阅读 · 0 评论 -
【C++ 真题】P5736 【深基7.例2】质数筛
题目要求输入 $n$ 个正整数,筛选出其中的质数并输出。质数是指大于1且只能被1和自身整除的数。通过一个 is_prime 函数判断每个数是否为质数,如果是则输出。输入格式为第一行输入整数个数 $n$,第二行输入 $n$ 个正整数。输出格式为一行,依次输出筛选后的质数,以空格隔开。示例输入为 5 3 4 5 6 7,输出为 3 5 7。代码使用C++实现,通过循环和条件判断完成质数筛选。原创 2025-05-21 22:11:12 · 1180 阅读 · 0 评论 -
【C++ 真题】P3456 [POI2007] GRZ-Ridges and Valleys
给定一个n×n的网格状地图,每个方格ij有一个高度wij。如果两个方格有公共顶点,则它们是相邻的。求地图内山峰和山谷的数量。特别地,如果整个地图方格的高度均相同,则整个地图既是一个山谷,也是一个山峰。原创 2025-04-24 22:09:39 · 1070 阅读 · 0 评论 -
【C++ 真题】P1141 01迷宫
有一个仅由数字0与1组成的n×n格迷宫。若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上。你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。原创 2025-04-24 21:18:35 · 930 阅读 · 0 评论 -
【C++ 真题】P2038 [NOIP 2014 提高组] 无线网络发射器选址
NOIP2014 提高组 D2T1。原创 2025-04-18 21:12:21 · 944 阅读 · 0 评论 -
【C++ 真题】P1093 [NOIP 2007 普及组] 奖学金
NOIP2007 普及组 T1。原创 2025-04-02 20:27:42 · 948 阅读 · 0 评论 -
【C++ 真题】P1059 [NOIP 2006 普及组] 明明的随机数
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数N≤100,对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。原创 2025-04-01 20:58:46 · 528 阅读 · 0 评论 -
【C++ 真题】P3955 [NOIP 2017 普及组] 图书管理员
NOIP2017 普及组 T2。原创 2025-04-01 20:41:41 · 1426 阅读 · 0 评论 -
【C++ 真题】P1097 [NOIP 2007 提高组] 统计数字
某次科研调查时得到了n个自然数,每个数均不超过1.5×109。已知不相同的数不超过104个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。原创 2025-04-01 20:40:05 · 949 阅读 · 0 评论 -
【C++ 真题】P1563 [NOIP 2016 提高组] 玩具谜题
NOIP2016 提高组 D1T1。原创 2025-04-01 20:37:52 · 1084 阅读 · 0 评论 -
【C++ 真题】P1089 [NOIP 2004 提高组] 津津的储蓄计划
津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年末她会加上20%还给津津。因此津津制定了一个储蓄计划:每个月的月初,在得到妈妈给的零花钱后,如果她预计到这个月的月末手中还会有多于100元或恰好100元,她就会把整百的钱存在妈妈那里,剩余的钱留在自己手中。例如11月初津津手中还有83元,妈妈给了津津300元。津津预计11月的花销是180。原创 2025-03-30 12:56:25 · 642 阅读 · 0 评论 -
【C++ 真题】P1085 [NOIP 2004 普及组] 不高兴的津津
津津上初中了。妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。另外每周妈妈还会送她去学习朗诵、舞蹈和钢琴。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。请你帮忙检查一下津津下周的日程安排,看看下周她会不会不高兴;如果会的话,哪天最不高兴。原创 2025-03-30 12:45:52 · 414 阅读 · 0 评论 -
【C++ 真题】P1003 [NOIP 2011 提高组] 铺地毯
为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n张地毯,编号从1到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。原创 2025-03-28 22:56:55 · 1178 阅读 · 0 评论 -
【C++ 真题】P1109 学生分组
有n组学生,给出初始时每组中的学生个数,再给出每组学生人数的上界R和下界LL≤R,每次你可以在某组中选出一个学生把他安排到另外一组中,问最少要多少次才可以使N组学生的人数都在LR中。原创 2025-03-27 21:55:01 · 1143 阅读 · 0 评论 -
【C++ 真题】P1006 [NOIP 2008 提高组] 传纸条
小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排坐成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标11,小轩坐在矩阵的右下角,坐标mn。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以向上或者向左传递。在活动进行中,小渊希望给小轩传递一张纸条,同时希望小轩给他回复。原创 2025-03-26 22:27:32 · 1020 阅读 · 0 评论 -
【C++ 真题】P1004 [NOIP 2000 提高组] 方格取数
NOIP 2000 提高组 T4。原创 2025-03-26 20:59:40 · 1039 阅读 · 0 评论 -
【C++ 真题】P9749 [CSP-J 2023] 公路
小苞准备开着车沿着公路自驾。公路上一共有n个站点,编号为从1到n。其中站点i与站点i1的距离为vi公里。公路上每个站点都可以加油,编号为i的站点一升油的价格为ai元,且每个站点只出售整数升的油。小苞想从站点1开车到站点n,一开始小苞在站点1且车的油箱是空的。已知车的油箱足够大,可以装下任意多的油,且每升油可以让车前进d公里。问小苞从站点1开到站点n,至少要花多少钱加油?原创 2025-03-24 21:20:21 · 1491 阅读 · 0 评论 -
【C++ 真题】P5016 [NOIP 2018 普及组] 龙虎斗
NOIP2018 普及组 T2。原创 2025-03-24 20:45:11 · 666 阅读 · 0 评论 -
【C++真题】P1981 [NOIP 2013 普及组] 表达式求值
NOIP2013 普及组 T2。原创 2025-03-20 21:56:45 · 624 阅读 · 0 评论 -
【C++ 真题】P1165 日志分析
M 海运公司最近要对旗下仓库的货物进出情况进行统计。目前他们所拥有的唯一记录就是一个记录集装箱进出情况的日志。该日志记录了两类操作:第一类操作为集装箱入库操作,以及该次入库的集装箱重量;第二类操作为集装箱的出库操作。这些记录都严格按时间顺序排列。集装箱入库和出库的规则为先进后出,即每次出库操作出库的集装箱为当前在仓库里所有集装箱中最晚入库的集装箱。出于分析目的,分析人员在日志中随机插入了若干第三类操作――查询操作。分析日志时,每遇到一次查询操作,都要报告出当前仓库中最大集装箱的重量。原创 2025-03-20 21:07:48 · 1148 阅读 · 0 评论 -
【C++ 真题】P3056 [USACO12NOV] Clumsy Cows S
()(())()(()()))(())(((())))给出一个偶数长度的括号序列,问最少修改多少个括号可以使其平衡。原创 2025-03-20 20:18:07 · 513 阅读 · 0 评论 -
【C++真题】P1739 表达式括号匹配
假设一个表达式有英文字母(小写)、运算符()和左右小(圆)括号构成,以作为表达式的结束符。请编写一个程序检查表达式中的左右圆括号是否匹配,若匹配,则输出YES;否则输出NO。表达式长度小于255,左圆括号少于20个。原创 2025-03-18 21:50:59 · 397 阅读 · 0 评论 -
【C++ 真题】P1216 [IOI 1994] 数字三角形 Number Triangles
观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。在上面的样例中,从7→3→8→7→5的路径产生了最大权值。原创 2025-03-18 20:57:21 · 980 阅读 · 0 评论 -
【C++ 真题】P1616 疯狂的采药
此题为纪念 LiYuxiang 而生。原创 2025-03-17 20:05:43 · 1028 阅读 · 0 评论 -
【C++真题】P1776 宝物筛选
终于,破解了千年的难题。小 FF 找到了王室的宝物室,里面堆满了无数价值连城的宝物。这下小 FF 可发财了,嘎嘎。但是这里的宝物实在是太多了,小 FF 的采集车似乎装不下那么多宝物。看来小 FF 只能含泪舍弃其中的一部分宝物了。小 FF 对洞穴里的宝物进行了整理,他发现每样宝物都有一件或者多件。他粗略估算了下每样宝物的价值,之后开始了宝物筛选工作:小 FF 有一个最大载重为W的采集车,洞穴里总共有n种宝物,每种宝物的价值为vi,重量为wi,每种宝物有mi件。原创 2025-03-11 20:43:39 · 1073 阅读 · 0 评论 -
【C++ 真题】P2871 [USACO07DEC] Charm Bracelet S
有N件物品和一个容量为M的背包。第i件物品的重量是Wi,价值是Di。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量,且价值总和最大。原创 2025-03-10 21:49:49 · 746 阅读 · 0 评论 -
【C++ 真题】P1164 小A点菜
uim 神犇拿到了 uoi 的 ra(镭牌)后,立刻拉着基友小 A 到了一家……餐馆,很低端的那种。uim 指着墙上的价目表(太低级了没有菜单),说:“随便点”。原创 2025-03-04 22:04:50 · 1286 阅读 · 0 评论
分享