自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Loge谈信奥--一个专注于信奥人的博客

Loge谈信奥本阶段专注使用scratch编程学习,参加白名单赛事,偶尔也会分享一下工作中内容

  • 博客(2732)
  • 收藏
  • 关注

原创 打卡信奥刷题(1800)用C++信奥 P8887 [DMOI-R1] 柯基棋

本文介绍了"柯基棋"游戏及其解题思路。题目描述了两个玩家在n×n棋盘上轮流下棋的规则,以及第三方干扰者会定期扩大棋盘的特殊机制。通过分析发现,游戏胜负仅取决于初始棋盘尺寸n的奇偶性:当n为奇数时先手胜,偶数时后手胜。因此,解题代码只需判断n的奇偶性即可输出结果,无需处理复杂的棋盘扩展和随机数生成逻辑。文章包含题目背景、规则说明、输入输出样例以及简洁的C++实现代码,展示了如何通过数学分析简化看似复杂的游戏问题。

2025-08-05 18:43:28 292

原创 打卡信奥刷题(1799)用C++信奥 P8884 「JEOI-R1」棋

题目摘要:P8884「JEOI-R1」棋 题目描述一个棋盘上的棋子移动问题。在n×m的棋盘上放置c个互不重叠的棋子,棋子可以沿对角线方向移动(到相邻的空位)。给出q个询问,每个询问指定一个子矩阵和期望的棋子位置,判断能否通过移动使子矩阵内恰好出现指定位置的棋子(其他位置无棋子)。需要处理大量数据,建议使用快速输入方法。 关键点: 棋子只能沿对角线方向移动 每次询问独立判断可行性 需要处理大规模输入(n,m,c,q≤1e5) 解法基于棋盘黑白格(奇偶性)性质统计 样例说明验证了不同情况下棋子移动的可能性。最终

2025-08-05 14:00:14 496

原创 打卡信奥刷题(1798)用C++信奥 P8881 懂事时理解原神

摘要:题目描述了一个基于DFS的最短路算法问题,要求计算该算法得到完全正确最短路径的概率。给定无向无权图,算法通过随机访问邻接点可能导致错误结果。关键点在于判断图中是否存在环,若有环则概率为0,否则为1。C++实现通过DFS检测环,若检测到环则输出0.000,否则输出1.000。样例1输出1.000(无环),样例2输出0.000(有环)。该解法适用于大规模数据(n,m≤50000)和多组测试用例(T≤10)。

2025-08-05 11:50:48 211

原创 打卡信奥刷题(1797)用C++信奥 P8880 无知时诋毁原神

题目要求构造两个0~n-1的排列a和b,使得c_i = (a_i + b_i) mod n。当n为偶数时无解直接输出-1;当n为奇数时,通过特定模式构造a和b数组:a[(2i+1)%n]=i,b[(2i+1)%n]=(i+1)%n。示例显示当n=3时成功构造,而n=4时无解。解法时间复杂度为O(n)。

2025-08-05 10:36:51 161

原创 打卡信奥刷题(1796)用C++信奥 P8873 [传智杯 #5 初赛] E-梅莉的市场经济学

摘要:题目描述了一个周期性贸易差数列,需要根据给定的k值查询数列中的第k项。数列呈现从0开始先递增到i再递减到-i最后回到0的规律。通过二分法确定k所在的周期段,然后计算具体值。输入q次查询,每次输出对应的a_k。C++实现使用二分查找处理大数k,时间复杂度高效,适用于q≤10^5,k≤4×10^18的数据规模。 (字数:149字)

2025-08-05 08:45:31 824

原创 打卡信奥刷题(1795)用C++信奥 P8872 [传智杯 #5 初赛] D-莲子的物理热力学

题目描述:给定n个整数序列,通过最多m次操作(每次操作可以将最小值变为最大值或最大值变为最小值),求最终序列的最小极差(最大值减最小值)。解题思路是排序后,通过双指针法在O(n)时间内找到最优解。关键步骤是排序数组,然后枚举可能的操作组合,计算每种情况下的极差并取最小值。代码实现时考虑了操作次数的限制,确保在给定m次操作内找到最小的极差。

2025-08-05 07:01:15 431

原创 打卡信奥刷题(1794)用C++信奥 P8838 [传智杯 #3 决赛] 面试

题目描述:给定n个服务器和k条指令,每个服务器有处理能力上限a_i,每条指令需要处理数据b_i。要求分配指令到空闲服务器(处理能力足够),输出字典序最小的分配序列p_k,若无法分配则输出-1。数据规模n,k≤6。 解决方法:使用深度优先搜索(DFS)遍历所有可能的分配方案,优先选择编号小的服务器,找到第一个可行解即停止(保证字典序最小)。若搜索完所有可能仍无解,则输出-1。样例演示了如何为6条指令选择6个服务器,形成字典序最小的分配序列1 3 2 4 6 5。

2025-08-04 22:22:50 222

原创 打卡信奥刷题(1793)用C++信奥 P8831 [传智杯 #3 练习赛] 儒略历

题目要求计算给定日期到公元1年1月1日的总天数。日期分为1582年前后两种历法规则:1582年前采用儒略历(能被4整除的年份为闰年),1582年后采用格里高利历(能被4整除但不能被100整除,或能被400整除的年份为闰年),且1582年10月4日之后直接跳到10月15日。输入格式为"日月年"(如1JAN1表示公元1年1月1日),需要输出总天数差。C++实现通过三重循环遍历所有日期,根据历法规则逐日累加,直到匹配输入日期时输出累计天数。

2025-08-04 20:09:30 282

原创 打卡信奥刷题(1792)用C++实现信奥 P8826 [传智杯 #3 初赛] 游戏(征集数据)

摘要:题目描述了一个数组消除游戏,玩家可以通过两种操作消除元素,代价分别为C1和C2。操作条件与元素二进制异或结果中1的个数有关。题目要求计算将数组消至只剩一个元素的最小代价。C++解法使用并查集处理元素关系,根据代价选择最优操作策略。对于n≤10^4的数据规模,算法通过比较C1和C2的大小来决定优先执行哪种操作,最终输出最小总代价。

2025-08-04 19:02:47 358

原创 打卡信奥刷题(1791)用C++实现信奥 P8824 [传智杯 #3 初赛] 终端

本文介绍了一个模拟终端的简单实现,支持4种命令操作:创建文件(touch)、删除文件(rm)、列出文件(ls)和重命名文件(rename)。使用C++数组存储文件,按创建时间顺序维护文件列表。代码处理了文件存在性检查,并确保ls命令按创建顺序输出。该实现针对大规模输入输出进行了优化,支持1000条命令处理。文章还提供了样例输入输出,并提示后续将持续分享算法竞赛相关实现。代码简洁明了,直接使用数组和循环处理各种命令情况。

2025-08-04 16:19:31 354

原创 打卡信奥刷题(1790)用C++实现信奥 P8816 [CSP-J 2022] 上升点列

本题要求在二维平面上给定n个点和可添加的k个点,构造满足相邻点距离为1且坐标单调不减的最长点序列。解题思路是动态规划,预处理点排序后,用f[i][j]表示前i个点使用j个添加点时的最大序列长度。通过比较点间距离,计算需要添加的点数来更新状态。最终答案是所有f[i][k]中的最大值。样例1的输出8和样例2的输出103展示了不同规模数据的处理结果。算法时间复杂度主要取决于点的数量n和可添加点数k,适用于竞赛规模数据。

2025-08-04 14:01:25 552

原创 打卡信奥刷题(1789)用C++实现信奥 P8811 [蓝桥杯 2022 国 C] 六六大顺

该题目要求计算由数字6组成的数的平方序列前n项和。数列B中的每一项bi等于由i个6组成的数字的平方(如6×6=36,66×66=4356等)。对于大数n(1≤n≤1e7),需要使用高精度计算。题解通过数学推导发现规律,将问题转化为对特定数字模式的处理,并用数组模拟高精度运算,避免了直接计算大数的平方和。实现时先预处理4n的值,再进行进位处理和最终结果计算,高效地解决了大规模数据问题。

2025-08-03 15:13:18 448

原创 打卡信奥刷题(1788)用C++实现信奥 P8809 [蓝桥杯 2022 国 C] 近似 GCD

题目要求统计数组中长度≥2的子数组,其近似GCD等于给定值g的数量。近似GCD定义为:子数组本身GCD=g,或修改一个元素后GCD=g。输入数组长度n和g值,输出满足条件的子数组个数。样例输入5 3和数组[1,3,6,4,10],输出5个符合条件的子数组。解法的核心思路是预处理数组,标记非g倍数的元素,然后使用前缀和与二分查找高效统计满足条件的区间。该算法适用于大规模数据(n≤1e5)。蓝桥杯2022国赛C组F题。

2025-08-03 14:10:49 1094

原创 打卡信奥刷题(1787)用C++实现信奥 P8808 [蓝桥杯 2022 国 C] 斐波那契数组

摘要:题目要求将给定数组修改为斐波那契数组(满足前两项相等且后续元素符合斐波那契递推关系),计算最少修改次数。通过枚举可能的初始值,生成对应的斐波那契序列并与原数组比较,统计差异最小的情况。C++实现中,遍历所有可能的初始值,生成完整序列后计算修改次数,最终输出最小值。样例输入[1,2,2,4,8]修改为[1,1,2,3,5]需3次修改。时间复杂度主要取决于初始值范围,适用于大规模数据(n≤10^5)。

2025-08-03 11:01:26 183

原创 打卡信奥刷题(1786)用C++实现信奥 P8807 [蓝桥杯 2022 国 C] 取模

摘要 题目P8807要求判断是否存在两个不同数x,y(1≤x<y≤m)使得n mod x = n mod y。输入包含多组n,m询问,输出"Yes"或"No"。核心思路是:当m>n+1时必然存在解,否则遍历1到m检查是否存在n mod i≠i-1的情况。C++代码高效处理大量查询,适用于1≤n≤1e9、2≤m≤1e9的大数据范围。该方法巧妙利用了模数性质,避免了不必要的计算,满足题目性能要求。

2025-08-03 09:40:57 278

原创 打卡信奥刷题(1785)用C++实现信奥 P8804 [蓝桥杯 2022 国 B] 故障

这道题目考察了条件概率的应用,要求根据已知的故障现象计算各故障原因发生的概率。摘要如下: 题目给出一个N×M的相关性矩阵,表示故障原因与现象之间的概率关系。已知各故障原因的先验概率和现象条件概率,当出现某些故障现象时,需要计算各故障原因的后验概率。算法核心是贝叶斯公式:对于每个故障原因,计算其发生且导致当前现象的概率,再除以所有原因导致该现象的总概率。最后按概率从高到低排序输出,保留2位小数。C++实现中需注意概率转换和精度处理。时间复杂度为O(NM),适用于小规模数据。

2025-08-03 08:33:37 947

原创 打卡信奥刷题(1784)用C++实现信奥 P8802 [蓝桥杯 2022 国 B] 出差

摘要:题目描述了一个疫情期间出差路线规划问题,需要在考虑城市间交通时间和到达城市后隔离时间的条件下,找到从城市1到城市N的最短时间路径。C++解决方案使用Dijkstra算法,将交通时间和隔离时间合并计算,最终输出总时间减去终点城市的隔离时间。输入包括城市数量、路线数量、各城市隔离时间及路线信息,输出为最优路径的总时间。样例说明了算法正确性,数据规模为N≤1000,M≤10000。

2025-08-03 07:13:17 705

原创 学习c++的一些小技巧

文章摘要:本文介绍了C++编程中的几个关键知识点:1)不同整数类型的取值范围,如short、int和long long的字节大小及数值范围;2)数字与字符串的相互转换方法,推荐使用to_string和stoi函数;3)控制浮点数输出精度可通过printf的格式化实现;4)数组声明位置对默认初始值的影响,建议在main函数外声明以获得0值初始化。这些要点对解决编程题目尤为重要。

2025-08-02 14:51:08 140

原创 打卡信奥刷题(1783)用C++实现信奥 P8800 [蓝桥杯 2022 国 B] 卡牌

这道题考察了如何利用二分查找和贪心算法来最大化卡牌套数。题目要求用给定的n种卡牌和m张空白牌(每种卡牌最多补充b[i]张)凑出尽可能多的完整套牌(每种卡牌各一张)。算法首先确定可能套数的最小值和最大值,然后通过二分查找验证中间值是否可行。对于每个中间值mid,计算需要补充的卡牌总数是否不超过m且不超过各卡牌补充限制。时间复杂度为O(n log(max_possible)),适用于大规模数据。该解法高效地解决了资源分配问题,展示了二分查找在优化问题中的典型应用。

2025-08-02 14:04:52 431

原创 打卡信奥刷题(1782)用C++实现信奥 P8799 [蓝桥杯 2022 国 B] 齿轮

摘要:本文介绍了蓝桥杯2022国赛B组I题"齿轮"的解法。题目要求判断能否通过组装n个不同半径的齿轮,使最右端齿轮转速为最左端的q倍。解法使用预处理思想,统计各半径出现次数,通过枚举倍数关系标记可行解。对于每个查询q_i,直接查表输出结果,时间复杂度为O(n log n)。代码实现简洁高效,适用于大规模数据(n,Q≤2×10^5)。

2025-08-02 12:49:59 884

原创 打卡信奥刷题(1781)用C++实现信奥 P8794 [蓝桥杯 2022 国 A] 环境治理

本文介绍了一个关于道路灰尘度优化的算法问题。题目要求计算最少需要多少天才能使得所有城市间最小灰尘度路径总和不超过给定值Q。通过二分查找和Floyd算法相结合,检查每个天数对应的灰尘度矩阵是否满足条件。初始时检查P指标是否已经满足,否则输出-1。C++实现中使用了邻接矩阵存储道路信息,并通过二分查找优化天数计算。算法时间复杂度为O(n^3 log(max_days)),适用于n≤100的问题规模。

2025-08-02 11:19:10 942

原创 打卡信奥刷题(1780)用C++实现信奥 P8787 [蓝桥杯 2022 省 B] 砍竹子

这道蓝桥杯题目要求计算将一排竹子高度全部变为1所需的最少魔法次数。魔法可以同时对连续相同高度的竹子使用,每次操作将高度变为⌊√(⌊H/2⌋+1)⌋。解题思路是对每个竹子单独计算需要砍伐的次数,然后逐轮处理,当相邻竹子高度相同时可以合并操作。使用优先队列或直接模拟处理过程,最终统计总操作次数。算法时间复杂度主要取决于最高竹子的砍伐次数,能够高效处理题目给定的数据规模。

2025-08-02 09:38:43 926

原创 打卡信奥刷题(1779)用C++实现信奥 P8786 [蓝桥杯 2022 省 B] 李白打酒加强版

摘要:题目描述李白打酒问题,给定N次遇店、M次遇花,要求最后一次遇花时酒正好喝完,求可能的顺序数。使用动态规划解决,状态dp[i][j][k]表示遇店i次、遇花j次、剩余k斗酒的方案数。转移方程考虑遇店加倍或遇花减1,最终输出dp[N][M-1][1]模1e9+7的结果。示例输入5店10花时输出14种可能顺序。代码用三重循环实现状态转移,时间复杂度O(NM100)。

2025-08-02 08:27:17 343

原创 打卡信奥刷题(1778)用C++实现信奥 P8785 [蓝桥杯 2022 省 B] 扫雷

题目描述扫雷游戏中的炸雷和排雷火箭,要求计算被引爆的炸雷总数。炸雷分布在二维平面,每个有坐标和爆炸半径。排雷火箭爆炸会引爆范围内的炸雷,被引爆炸雷会继续引爆其他炸雷。使用C++实现,通过哈希表存储炸雷位置,BFS遍历引爆过程。时间复杂度较高但能通过样例,注意处理重复位置的炸雷。摘要84字。

2025-08-02 07:10:06 752

原创 打卡信奥刷题(1777)用C++实现信奥 P8784 [蓝桥杯 2022 省 B] 积木画

摘要 这道蓝桥杯题目要求计算用I型和L型积木拼满2×N画布的不同方式数。采用动态规划方法,定义状态f[i][j]表示前i列在j状态下的方案数。状态转移考虑积木的不同摆放方式,并通过模运算处理大数。对于N=3的样例,输出5种方案。算法时间复杂度为O(N),适用于N≤10^7的情况。代码使用C++实现,通过递推公式计算并输出结果对1e9+7取模后的值。

2025-08-01 14:51:34 247

原创 打卡信奥刷题(1776)用C++实现信奥 P8783 [蓝桥杯 2022 省 B] 统计子矩阵

这篇文章介绍了一个统计满足条件的子矩阵数量的算法题目。给定一个N×M的矩阵A和一个整数K,要求计算所有元素和不超过K的子矩阵数量。通过二维前缀和预处理列方向上的和,然后使用双指针法在行方向上进行优化计算,有效降低了时间复杂度。文章提供了C++实现代码,并解释了算法思路,适合参加算法竞赛的选手参考学习。该解法能够处理较大规模的数据,符合题目给出的约束条件。

2025-08-01 13:44:57 358

原创 打卡信奥刷题(1775)用C++实现信奥 P8782 [蓝桥杯 2022 省 B] X 进制减法

本文介绍了一道蓝桥杯省赛题目,要求计算两个X进制数A和B的差的最小可能值。题目中X进制的每一位进制不固定,但需满足A和B使用相同进制规则,且每位的进制在2到N+1之间。解题思路是:1)将输入数字反向存储;2)确定每位的最小进制(取A、B对应位较大值加1,且不小于2);3)计算每位的权值;4)将A、B转换为十进制并求差,最后取模输出。C++实现中使用了反向存储、动态计算权值和模运算等技巧,确保在较大数据量下仍能高效运行。文章最后表明将继续分享算法竞赛相关的内容。

2025-08-01 12:23:57 739

原创 打卡信奥刷题(1774)用C++实现信奥 P8762 [蓝桥杯 2021 国 ABC] 123

这篇题解介绍了蓝桥杯2021年国赛题目"123"的解法。题目要求计算一个特殊数列中连续区间的和,该数列按1,1-2,1-3,1-4...的模式无限延伸。 解题使用了前缀和的思想,通过预处理构建两个数组: s数组存储三角数前缀和 f数组存储三角数前缀和的前缀和 对于每个查询[l,r],通过二分查找确定区间所在的三角数层数,然后利用预处理数组快速计算区间和。该方法将时间复杂度优化到O(Tlogn),适用于大规模数据(T≤100000, l,r≤1e12)。 C++实现中使用了lower_bo

2025-08-01 10:49:25 990

原创 打卡信奥刷题(1773)用C++实现信奥 P8755 [蓝桥杯 2021 省 AB2] 负载均衡

本文介绍了蓝桥杯2021年省赛AB组的一道关于任务调度的题目。给定n台计算机及其运算能力,以及m个按时间顺序分配的任务,每个任务包含开始时间、目标计算机、持续时间和算力消耗。需要在每次分配时判断计算机是否有足够算力,若有则扣除相应算力并记录任务结束时间,否则输出-1。文章提供了C++实现代码,使用优先队列管理每台计算机的当前任务,并处理已完成任务释放的算力。题目考察了对任务调度和算力管理的模拟实现能力,适合练习优先队列的应用。

2025-08-01 08:17:42 750

原创 打卡信奥刷题(1772)用C++实现信奥 P8749 [蓝桥杯 2021 省 B] 杨辉三角形

题目要求在杨辉三角形数列中找出给定正整数N首次出现的位置。杨辉三角形按行展开为1,1,1,1,2,1,1,3,3,1,...序列。对于N=10^9以内的输入,使用二分查找优化组合数计算,当找到等于N的组合数时,输出其在序列中的位置。C++代码通过二分法在指定范围内搜索,利用组合数公式快速计算。例如输入6时输出13,表示6首次出现在第13个位置。该解法高效处理了大数据范围的问题。

2025-08-01 07:04:43 307

原创 打卡信奥刷题(1771)用C++实现信奥 P8744 [蓝桥杯 2021 省 A] 左孩子右兄弟

题目描述将多叉树转换为"左孩子右兄弟"二叉树表示法,求可能的最大高度。关键点在于:每个节点的子节点排列顺序会影响最终高度。解题思路是使用树形动态规划,对于每个节点,其子树高度等于子节点数量加上子树中最高的子树高度。C++实现采用链式前向星存储树结构,通过DFS遍历计算每个节点的最大高度。时间复杂度为O(N),适用于N≤10^5的规模。输入N及N-1个父节点编号,输出最大高度值。例如样例输入5个节点,输出4。

2025-07-31 14:04:33 396

原创 打卡信奥刷题(1770)用C++实现信奥 P8736 [蓝桥杯 2020 国 B] 游园安排

本题要求从游客名字序列中选出最长递增子序列,要求字典序最小解。输入是一个连续字符串,大写字母开头表示新名字。算法使用贪心+二分查找维护递增序列,其中dp数组存储当前长度的最小末尾元素,ans数组记录对应的名字组合。时间复杂度O(nlogn),适用于大规模数据。关键点在于正确处理名字分割和字典序比较,最终输出最长递增子序列的最小字典序解。

2025-07-31 12:51:53 554

原创 打卡信奥刷题(1769)用C++实现信奥 P8730 [蓝桥杯 2020 国 ABC] 皮亚诺曲线距离

题目摘要:皮亚诺曲线距离计算 本题要求计算k阶皮亚诺曲线上两点之间的曲线距离。皮亚诺曲线是一种分形曲线,k阶曲线填充3^k×3^k的网格。给定k值和两个坐标点(x1,y1)、(x2,y2),需要计算两点沿曲线的距离差绝对值。通过递归分解问题规模和坐标变换,将高阶曲线转换为低阶曲线的组合求解。关键点在于处理不同网格块的坐标变换和方向调整。C++实现采用递归和预处理3的幂次表,注意处理大数时k的优化截断(k≤39)。时间复杂度与k相关,适用于k≤100、坐标≤10^18的情况。

2025-07-31 11:23:59 778

原创 打卡信奥刷题(1768)用C++实现信奥 P8725 [蓝桥杯 2020 省 AB3] 画中漂流

本文介绍了蓝桥杯2020省赛AB组题目"画中漂流"的解法。题目描述在救援到达前的T秒内,使用M点体力划桨(每秒消耗1点体力向上游1米),否则会随水流向下游1米,要求最终位置不超过下游D米。使用动态规划求解,定义f[i][j]表示第i秒剩余j体力的方案数,状态转移考虑是否划桨,最终输出f[T][0]即为答案。代码实现采用二维DP数组,时间复杂度O(T*M)。文章还提到将继续分享算法竞赛相关内容和解题思路。

2025-07-31 09:54:43 285

原创 打卡信奥刷题(1767)用C++实现信奥 P8720 [蓝桥杯 2020 省 B2] 平面切分

本文介绍了蓝桥杯2020省赛B组题目"平面切分"的解法。题目要求计算N条直线将平面分成多少部分。通过分析直线交点与平面分割的关系,提出了基于集合记录交点的方法。C++实现中,使用pair存储交点坐标,通过遍历比较每条直线与之前直线的位置关系(重合、平行、相交)来统计新增区域数。初始平面为1部分,每添加一条不与之前重合的直线,新增区域数为交点数量+1。代码时间复杂度为O(n²),适用于N≤1000的情况。该解法有效地解决了平面分割问题,体现了计算几何的基本思想。

2025-07-31 08:32:35 384

原创 打卡信奥刷题(1766)用C++实现信奥 P8716 [蓝桥杯 2020 省 AB2] 回文日期

本文介绍了蓝桥杯2020省赛题目P8716的回文日期问题。题目要求给定一个合法日期后,找出下一个回文日期和ABABBABA型回文日期。摘要中给出了C++实现代码,该代码通过年份递增方式生成候选日期,并验证其合法性。关键点包括:闰年判断、日期格式转换和ABABBABA模式检测。实现思路清晰,代码简洁高效,适用于解决类似日期处理问题。作者计划持续分享算法竞赛相关的编程实现和经验总结。

2025-07-31 07:01:14 299

原创 打卡信奥刷题(1765)用C++实现信奥 P8715 [蓝桥杯 2020 省 AB2] 子串分值

摘要 本文介绍了蓝桥杯2020省赛题目"子串分值"的解法。题目要求计算字符串所有非空子串中恰好出现一次的字符个数之和。提供的C++解决方案采用高效算法:预处理每个字符的前后出现位置,利用公式(i-pre[i])*(nx[i]-i)计算每个字符的贡献值,避免了暴力枚举所有子串。该方法时间复杂度O(n),适用于大字符串(n≤100000)。样例输入"ababc"输出21,验证了算法的正确性。文章还包含题目描述、输入输出格式和评测数据规模等完整信息。

2025-07-30 13:10:28 641

原创 打卡信奥刷题(1764)用C++实现信奥 P8712 [蓝桥杯 2020 省 B1] 整数拼接

本题要求统计从数组中选取两个数拼接后能被K整除的组合数。通过预处理每个数的余数及其在不同位数下的余数情况,利用哈希表优化计算。核心思路是计算每个数作为前后位时的有效组合数,同时避免重复计算。算法时间复杂度为O(n),适用于大规模数据。实现时要注意处理拼接后的数值长度和模运算的关系。

2025-07-30 12:07:09 354

原创 打卡信奥刷题(1763)用C++实现信奥 P8709 [蓝桥杯 2020 省 A1] 超级胶水

这篇文章介绍了蓝桥杯2020省赛A组的一道石子合并问题。题目要求将一排石子用最少的胶水粘合在一起,每次合并相邻两颗石子所需胶水量等于它们重量的乘积。文章给出了问题的详细描述、输入输出格式和样例,并提供了C++解决方案。该解法利用前缀和数组高效计算总胶水量,时间复杂度为O(n),适用于n≤10^5的大规模数据。文章最后表示将持续分享算法竞赛相关内容和解题心得。

2025-07-30 11:15:21 301

原创 打卡信奥刷题(1762)用C++实现信奥 P8708 [蓝桥杯 2020 省 A1] 整数小拼接

本文介绍了蓝桥杯2020省赛A组H题"整数小拼接"的解决方案。题目要求从数组中选取两个数拼接成新整数,统计不大于给定值K的拼接方式总数。作者使用C++实现,通过排序数组和双指针技术高效求解,时间复杂度优化为O(nlogn)。代码将数字转换为字符串拼接后再比较,利用循环和条件判断统计有效组合数。该解法适用于大规模数据,满足题目对时间复杂度的要求。

2025-07-30 09:52:44 754

P1591 阶乘数码,求 n! 中某个数码出现的次数

P1591 阶乘数码,求 n! 中某个数码出现的次数。

2024-06-01

P1308 [NOIP2011 普及组] 统计单词数

P1308 [NOIP2011 普及组] 统计单词数

2024-05-31

Scratch实现X244 明明的随机数

Scratch实现X244 明明的随机数

2024-05-31

信奥X59次大值,还写了一个不错的排序积木

信奥X59次大值,还写了一个不错的排序积木

2024-05-31

P1981 [NOIP2013 普及组] 表达式求值

P1981 [NOIP2013 普及组] 表达式求值

2024-05-29

Scratch实现第二十九届“YMO”青少年数学思维研学交流活动初选试卷 小学二年级,第15题用,及用枚举的对比

Scratch实现第二十九届“YMO”青少年数学思维研学交流活动初选试卷 小学二年级,第15题用,及用枚举的对比

2024-05-29

信奥P1075 [NOIP2012 普及组] 质因数分解

P1075 [NOIP2012 普及组] 质因数分解

2024-05-28

用Scratch图形化工具信奥P1015 [NOIP1999 普及组] 回文数,写了一个好用的反序的积木

用Scratch图形化工具信奥P1015 [NOIP1999 普及组] 回文数,写了一个好用的反序的积木

2024-05-27

图形化编程题:图章画图,Scratch编程实现代码-电子学会2024.3四级考试题编程题第四题

图形化编程题:图章画图,Scratch编程实现代码--电子学会2024.3四级考试题编程题第四题

2024-05-27

图形化编程题:根据身份证号码识别是否优先选择火车下铺

图形化编程题:根据身份证号码识别是否优先选择火车下铺 订票网站可以为超过60岁(包含60岁)的老人优先选择卧铺的下铺铺位。根据身份证号码自动判断是否可以优先选择下铺。例如:输入正确的身份证格式:370232199002111036,其中1990表示其出生的年份,其不可以优先选择下铺。

2024-05-27

绘制五个分枝,每个分枝末端有5个5边型,Scratch编程实现代码-电子学会2024.3三级考试题编程题第三题

绘制五个分枝,每个分枝末端有5个5边型,Scratch编程实现代码--电子学会2024.3三级考试题编程题第三题

2024-05-27

图形化编程题:列表排序,Scratch编程实现代码-电子学会2024.3四级考试题编程题第一题

图形化编程题:列表排序,Scratch编程实现代码--电子学会2024.3四级考试题编程题第一题

2024-05-27

Scratch图形化编程题:三位二进制数转换为十进制数

Scratch图形化编程题:三位二进制数转换为十进制数。 把三位二进制数转换为十进制,从左到右,分解二进制数的每一位,第一位乘以4,第二位乘以2,第三位乘以1,然后再求和即为十进制数。比如: 二进制数101,转换为十进制数为5,计算公式为:(1*4)+(0*2)+(1*1)=5 二进制数110,转换为十进制数为6,计算公式为:(1*4)+(1*2)+(0*1)=6

2024-05-27

Scratch图形化编程题:套娃生产机 根据输入的套娃层数,自动生产出套娃产品

Scratch图形化编程题:套娃生产机。 根据输入的套娃层数,自动生产出套娃产品。

2024-05-27

寻找好朋友,scrach编程实现代码-电子学会2024.3二级考试题编程题,代码

寻找好朋友,scrach编程实现代码-电子学会2024.3二级考试题编程题,代码

2024-05-27

P7071 [CSP-J2020] 优秀的拆分,题目描述 一般来说,一个正整数可以拆分成若干个正整数的和

P7071 [CSP-J2020] 优秀的拆分,题目描述 一般来说,一个正整数可以拆分成若干个正整数的和

2024-05-26

B3756 [信息与未来 2021] 幸运数字 如果一个正整数的5进制,7进制,9进制都不包括0则称之为幸运数

B3756 [信息与未来 2021] 幸运数字 如果一个正整数的5进制,7进制,9进制都不包括0则称之为幸运数

2024-05-26

B3736 [信息与未来 2018] 最大公约数

B3736 [信息与未来 2018] 最大公约数

2024-05-26

P1548 [NOIP1997 普及组] 棋盘问题

用scratch实现P1548 [NOIP1997 普及组] 棋盘问题sb3文件

2024-05-23

信奥算法题-B2005 字符三角形,scratch实现的素材

信奥算法题--B2005 字符三角形,scratch实现的素材

2024-05-21

2024年罗湖区小学组c++初赛题

2024年罗湖区小学组c++初赛题

2024-11-10

2023第14届蓝桥杯素材,5.九宫格游戏-素材

2023第14届蓝桥杯素材,5.九宫格游戏-素材

2024-08-14

2023第14届蓝桥杯素材,4.像素画板-素材

2023第14届蓝桥杯素材,4.像素画板-素材

2024-08-14

2023第14届蓝桥杯素材,3.神奇哈哈镜-素材

2023第14届蓝桥杯素材,3.神奇哈哈镜-素材

2024-08-14

2023第14届蓝桥杯素材,2.舞台特效-素材

2023第14届蓝桥杯素材,2.舞台特效-素材

2024-08-14

2023第14届蓝桥杯素材,1.电脑开关机-素材

2023第14届蓝桥杯素材,1.电脑开关机-素材

2024-08-14

P2666 [USACO07OCT] Bessie's Secret Pasture S

P2666 [USACO07OCT] Bessie's Secret Pasture S

2024-06-12

P1217 USACO1.5 回文质数 Prime Palindromes

P1217 [USACO1.5] 回文质数 Prime Palindromes

2024-06-10

P1190 [NOIP2010 普及组] 接水问题

P1190 [NOIP2010 普及组] 接水问题

2024-06-09

P1149 [NOIP2008 提高组] 火柴棒等式

P1149 [NOIP2008 提高组] 火柴棒等式

2024-06-08

P1125 [NOIP2008 提高组] 笨小猴

P1125 [NOIP2008 提高组] 笨小猴

2024-06-08

信奥P1037 [NOIP2002 普及组] 产生数

信奥P1037 [NOIP2002 普及组] 产生数

2024-06-07

P8577 CoE R5 暴龙的白菜

P8577 [CoE R5] 暴龙的白菜

2024-06-05

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛-初/中级)第4题真题-变色游戏

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛-初/中级)第4题真题-变色游戏

2024-06-03

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛-初/中级)第5题真题-筛选数据

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛-初/中级)第5题真题-筛选数据

2024-06-02

P1705 爱与愁过火,实现代码

P1705 爱与愁过火,实现代码

2024-06-01

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛-初/中级)第3题真题-六花阵图

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛-初/中级)第3题真题-六花阵图

2024-06-01

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛-初/中级)第2题真题-转动的风车素材和程序

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛_初/中级)第2题真题_转动的风车素材和程序

2024-06-01

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛-初/中级)真题,多变太阳的程序和素材

202312(第15届)蓝桥杯Scratch图形化编程青少组(选拔赛_初/中级)真题,多变太阳的程序和素材

2024-06-01

P1664 每日打卡心情好

P1664 每日打卡心情好

2024-06-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除