自定义博客皮肤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编程学习,参加白名单赛事,偶尔也会分享一下工作中内容

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

原创 打卡信奥刷题(2706)用C++实现信奥题 P3145 [USACO16OPEN] Splitting the Field G

题目要求计算使用两个不重叠的矩形围栏代替一个最小矩形围栏时能够减少的面积。首先找到包含所有奶牛的最小矩形面积,然后通过预处理最大最小值数组,分别考虑水平和垂直分割方式,计算两种分割方式下的最小总面积差。最终输出原始面积与分割后最小总面积的差值。算法时间复杂度为O(n log n),适用于大规模数据。

2026-01-17 13:14:53 122

原创 打卡信奥刷题(2705)用C++实现信奥题 P3140 [USACO16FEB] Circular Barn Revisited G

本文介绍了USACO竞赛题目P3140的解决方案。题目要求在一个环形谷仓中选择k个入口,使奶牛到达目标房间的总行走距离最小。通过动态规划方法破环为链,计算不同区间和入口数量下的最小距离。C++实现展示了如何预处理单入口情况,然后递推计算多入口最优解,最终输出所有可能区间中的最小值。该算法适用于3≤n≤100和1≤k≤7的输入范围,能有效解决环形结构的最优入口选择问题。

2026-01-17 11:44:46 214

原创 打卡信奥刷题(2704)用C++实现信奥题 P3137 [USACO16FEB] Circular Barn S

摘要 本文介绍了USACO 2016年2月比赛中的圆形谷仓问题(P3137)。题目描述了一个环形排列的n个房间,每个房间有若干奶牛,要求通过最小能量消耗(移动距离平方和)使每个房间恰好有一头奶牛。解题思路是将奶牛初始位置排序后,计算最优移动方案。提供的C++代码实现了这一算法,通过处理环形数组并计算最小能量消耗,最终输出结果33作为样例答案。文章还提到将继续分享算法竞赛相关内容和编程心得。

2026-01-17 09:46:19 642

原创 打卡信奥刷题(2703)用C++实现信奥题 P3134 [USACO16JAN] Lights Out G

题目描述Bessie在谷仓停电时需要根据记忆和触觉寻找出口。谷仓由N个顶点组成的多边形表示,边在水平和垂直方向交替。Bessie采用顺时针行走策略,直到能确定当前位置,再选择最短路径到出口。要求计算在最坏情况下,黑暗中和亮灯时到达出口距离差的最大值。 输入输出样例展示了当N=4时,最坏情况差值为2。 解题思路:通过预处理各顶点间的距离和转向信息,利用哈希表存储路径特征,找到唯一可识别位置后计算距离差。C++实现通过遍历顶点,记录路径特征并比较最短路径差来求解。 该问题考察几何路径分析和最优化策略,适合算法竞

2026-01-17 08:38:48 438

原创 打卡信奥刷题(2702)用C++实现信奥题 P3116 [USACO15JAN] Meeting Time S

摘要 题目描述了一个农场路径问题,要求找到Bessie和Elsie从粮仓(1号田地)同时出发,同时到达N号田地的最短时间。农场由N块高度递减的田地组成,有M条单向路径,两人通过同一条路径所需时间可能不同。使用拓扑排序和动态规划,记录两人到达每个田地所有可能的时间组合,最终找出两人到达终点时间相同的最小值。若无解则输出"IMPOSSIBLE"。示例输入输出展示了两人通过不同路径同时到达的情况。

2026-01-17 07:16:25 660

原创 打卡信奥刷题(2701)用C++实现信奥题 P3088 [USACO13NOV] Crowded Cows S

题目P3088要求统计在给定距离D内,左右两侧都有身高至少为当前奶牛两倍的奶牛数量。使用单调队列处理左右两侧的最大身高,通过两次扫描(从左到右和从右到左)判断每头奶牛是否满足拥挤条件。最终统计同时满足左右条件的奶牛数量输出。示例输入6头奶牛,距离4,输出2头满足条件的奶牛。算法时间复杂度为O(N),适用于大规模数据。

2026-01-16 14:02:43 323

原创 打卡信奥刷题(2700)用C++实现信奥题 P3080 [USACO13MAR] The Cow Run G/S

题目摘要:农夫约翰需要追回沿直线公路逃散的N头奶牛(1≤N≤1000),每头牛的位置Pi已知。约翰从原点出发,每分钟移动一个单位距离,每头牛每分钟造成1美元损失。要求设计最优追回顺序使总损失最小。 示例:4头牛在-2,-12,3,7位置,最优顺序-2→3→7→-12,总损失50美元。 解法:使用动态规划,状态dp[i][j][0/1]表示处理区间[i,j]后位于左/右端点的最小损失,通过转移方程计算最优解。时间复杂度O(N^2)。 核心思想:将奶牛位置排序后,通过区间DP计算不同移动顺序的损失,取最小值作为

2026-01-16 12:47:31 579

原创 打卡信奥刷题(2699)用C++实现信奥题 P3073 [USACO13FEB] Tractor S

本文介绍了USACO竞赛题目P3073的解法。题目要求计算FJ购买拖拉机的最小成本,使得拖拉机能够以最小高度差遍历农田一半以上的格子。采用二分查找结合深度优先搜索(DFS)的方法,通过检查不同高度差阈值能否满足覆盖要求来求解。C++实现中使用了二维数组存储高度数据,通过二分调整阈值,DFS验证可达性。最终输出满足条件的最小高度差。文章还提到后续将继续分享算法竞赛相关题解和编程心得。

2026-01-16 11:35:17 290

原创 打卡信奥刷题(2698)用C++实现信奥题 P3069 [USACO13JAN] Cow Lineup G

摘要:题目要求从N头奶牛队列中最多移除K种血统,找出最长连续相同血统的奶牛段。使用滑动窗口和哈希表维护当前窗口内的血统种类数,当超过K+1种时移动左边界。时间复杂度O(N)。示例输入9头奶牛,移除1种血统后得到最长4头连续的7号血统。C++实现通过双指针和map统计窗口内血统出现次数,动态维护最大值。

2026-01-16 08:21:57 132

原创 打卡信奥刷题(2697)用C++实现信奥题 P3063 [USACO12DEC] Milk Routing S

本文介绍了USACO2012年12月比赛的一道题目"Milk Routing S"的解决方案。题目描述了一个牛奶输送网络,要求选择一条从牛棚到储存罐的路径,使得输送X单位牛奶的总时间最短。路径时间计算为延迟总和加上X除以路径最小容量。文章给出了C++实现代码,使用深度优先搜索(DFS)遍历所有可能路径,并通过剪枝优化搜索过程。代码中维护当前路径的延迟总和和容量最小值,最终输出最短时间。该解法适用于节点数N≤500的网络,可作为类似网络路径优化问题的参考实现。

2026-01-16 07:19:54 741

原创 打卡信奥刷题(2696)用C++实现信奥题 P3058 [USACO12NOV] Balanced Cow Breeds G/S

题目描述:给定一个长度为N的括号字符串,要求用H/G标记每个括号,使得所有H标记和所有G标记的括号都能各自组成平衡的括号序列。求满足条件的标记方案总数mod 2012的结果。 解题思路:使用动态规划,f[i][j]表示前i个括号中H标记比G标记多j个的方案数。初始化f[0][0]=1,遍历每个括号,根据括号类型更新状态。最终答案为f[n][0],即两种标记数量相等的方案数。 C++实现:通过预处理括号值(左括号为1,右括号为-1),动态维护sum值(当前H比G多的数量),在状态转移时考虑当前括号分配给H或G

2026-01-15 14:59:06 662 1

原创 打卡信奥刷题(2695)用C++实现信奥题 P3057 [USACO12NOV] Distant Pastures S

题目摘要:给定一个N×N的括号矩阵,奶牛Bessie在相邻格子间移动,同字符耗时A,不同字符耗时B。要求计算所有点对间最短路径的最大值。输入包括N、A、B和矩阵,输出最大耗时。样例中3×3矩阵的最大耗时路径为5。C++实现使用Dijkstra算法,将矩阵转为图处理,对每个点作为起点计算最短路并记录最大值。

2026-01-15 12:23:59 754

原创 打卡信奥刷题(2694)用C++实现信奥题 P3054 [USACO12OPEN] Running Laps S

题目描述:农夫约翰让n头牛在长度为c的跑道上跑l圈比赛,所有牛同起点不同速度。当最快牛跑完l圈时比赛结束。求比赛中发生的"超越事件"次数(定义为某牛超越另一牛整整一圈)。 输入:n,l,c和每头牛的速度vi。 输出:超越事件总数。 样例输入: 4 2 100 20 100 70 1 输出:4 解法:使用树状数组统计满足条件的超越事件数。先将速度处理为相对最快牛的比例,通过排序和树状数组计算符合条件的超越对数。 核心思路:将问题转化为统计满足特定条件的数对,利用排序和树状数组高效计算。

2026-01-15 11:02:51 799

原创 打卡信奥刷题(2693)用C++实现信奥题 P3049 [USACO12MAR] Landscaping S

题目描述:Farmer John需要调整N个花坛的泥土量(1≤N≤100),每个花坛初始有A_i单位泥土,目标为B_i单位(0≤A_i,B_i≤10)。操作包括:购买泥土(费用X)、移除泥土(费用Y)或运输泥土(费用Z×距离)。要求计算最小开销。 解决方法:使用动态规划,将问题转化为最小编辑距离问题。通过构建二维数组f[i][j]表示处理前i个初始泥土和前j个目标泥土的最小费用,状态转移考虑三种操作:移除、购买或运输。 示例:输入4个花坛,参数X=100,Y=200,Z=1,最优解花费210(移除1单位+运

2026-01-15 08:20:24 584

原创 打卡信奥刷题(2692)用C++实现信奥题 P3047 [USACO12FEB] Nearby Cows G

题目摘要:Farmer John的农场由N个田地组成,构成一棵树结构。每个田地i有C_i头奶牛,奶牛最多可移动K条边到达其他田地。要求计算每个田地i在K步内能到达的所有奶牛数量之和M_i。输入包括田地数N、最大步数K、树结构边和每个田地的奶牛数。输出每个田地的M_i值。使用动态规划方法处理树形结构,时间复杂度为O(NK)。样例展示了6个田地、K=2时的计算结果。数据范围:1≤N≤1e5,1≤K≤20,0≤C_i≤1000。

2026-01-15 07:18:58 950

原创 打卡信奥刷题(2691)用C++实现信奥题 P3031 [USACO11NOV] Above the Median G

题目要求统计满足中位数≥X的连续子序列数量。通过将数组转换为前缀和数组,使用树状数组高效计算符合条件的子序列数。具体实现是将元素≥X记为+1,否则为-1,前缀和数组pre[i]表示前i个元素的和。使用树状数组维护前缀和的出现次数,通过查询pre[i]+n+1的值来统计有效子序列数。最终时间复杂度为O(n log n),适用于大规模数据。示例输入4个数[10,5,6,2],X=6时输出7个有效子序列。

2026-01-14 12:15:10 1391

原创 打卡信奥刷题(2690)用C++实现信奥题 P3018 [USACO11MAR] Tree Decoration G

题目描述了一棵有根树的装饰问题,要求在每个节点的子树中至少挂一定数量的装饰物,求最小花费。每个节点挂装饰物的成本不同,可以挂多个。 解题思路采用自底向上的贪心策略,优先在成本较低的节点挂装饰物。通过拓扑排序处理树结构,维护每个子树的最小成本和已挂数量,确保满足条件的同时总花费最小。 代码实现使用队列进行拓扑排序,计算每个节点需要补充的装饰物数量,并累加最小成本。最终输出满足所有子树要求的最小总花费。 样例输入5个节点数据,输出最小花费20,验证了算法的正确性。该解法适用于大规模数据(n≤1e5),使用lon

2026-01-14 11:12:19 392

原创 打卡信奥刷题(2689)用C++实现信奥题 P3014 [USACO11FEB] Cow Line S

摘要 题目描述了一组奶牛与农夫约翰进行的排列编号游戏。给定N头奶牛(1≤N≤20),需要处理两种查询类型:1)P命令根据排列编号输出对应排列;2)Q命令根据给定排列计算其编号。C++实现使用康托展开和逆展开算法,预处理阶乘后高效处理查询。样例展示了编号3对应排列1 2 4 3 5,而排列1 2 5 3 4对应编号5。该算法适用于最多10,000次查询,时间复杂度为O(N^2)每查询。

2026-01-14 09:27:41 1120

原创 打卡信奥刷题(2688)用C++实现信奥题 P3012 [USACO11FEB] Cowlphabet G

摘要:题目描述奶牛使用由大小写字母组成的"牛语",约翰偷听到一个单词包含U个大写和L个小写字母,已知P个有效字母相邻组合。要求计算符合该字母数量的有效单词数,结果对97654321取模。解决方案采用动态规划,定义状态F[i][j][k]表示前i个字母中有j个大写且最后一个字母为k时的方案数。通过遍历所有有效字母组合进行状态转移,最终累加符合条件的方案数。输入样例2个大写和2个小写字母,7个有效组合,输出7种可能单词。算法时间复杂度O((U+L)U52*P)。

2026-01-14 08:09:35 664

原创 打卡信奥刷题(2687)用C++实现信奥题 P3010 [USACO11JAN] Dividing the Gold S

题目摘要:奶牛Bessie和Canmuu需要将N枚金币分成两堆,使价值差最小。每枚金币价值v_i。求最小差值及其分割方法数(模1,000,000)。使用动态规划求解,f数组记录最大可达价值,dp数组记录方法数。样例输入5枚金币(2,1,8,4,16),输出最小差1,方法数1。算法时间复杂度O(N*sum)。

2026-01-14 07:16:44 546

原创 打卡信奥刷题(2686)用C++实现信奥题 P3004 [USACO10DEC] Treasure Chest S

摘要 题目描述两个玩家轮流从一排硬币的两端取硬币,目标是最大化自己的总价值。这是一个典型的博弈论问题,可以通过动态规划解决。使用前缀和数组优化计算,状态转移方程为f[i] = sum[j]-sum[i-1] - min(f[i], f[i+1]),表示当前玩家能获得的最大价值等于区间总和减去对手的最佳选择。最终结果为f[1],即从整个序列开始游戏时先手玩家的最大价值。时间复杂度O(n^2),空间复杂度O(n)。

2026-01-13 15:02:21 821 1

原创 打卡信奥刷题(2685)用C++实现信奥题 P2998 [USACO10NOV] Candy S

本文介绍了USACO竞赛题目P2998 [USACO10NOV] Candy S的解题思路。题目描述贝茜如何通过策略吃掉最多糖果,当剩余糖果数等于特定值时还能获得额外糖果。文章给出了输入输出格式和样例,并提供了C++实现代码。该代码使用动态规划方法计算贝茜能吃掉的最大糖果数量,若可能无限获取则输出-1。摘要涵盖了题目核心内容、算法思想和实现要点,为读者提供了清晰的解题框架。

2026-01-13 12:54:48 875

原创 打卡信奥刷题(2684)用C++实现信奥题 P2994 [USACO10OCT] Dinner Time S

摘要:题目描述N头奶牛和M个座位的位置坐标,奶牛会优先选择距离最近的座位(按输入顺序处理)。C++实现通过计算欧几里得距离,标记已分配座位的奶牛,最后输出未分配到座位的奶牛编号(升序排列)。代码使用二维数组存储坐标,标记数组处理座位分配,时间复杂度O(N*M)。若无饥饿奶牛则输出0。

2026-01-13 11:37:23 658

原创 打卡信奥刷题(2683)用C++实现信奥题 P2979 [USACO10JAN] Cheese Towers S

本文介绍了USACO竞赛题目"Cheese Towers S"的解题思路与C++实现。题目要求建造高度不超过T的奶酪塔,通过合理选择N种不同高度和价值的奶酪块,在考虑大奶酪对下方奶酪高度影响(变为4/5)的情况下,使总价值最大化。解题采用动态规划方法,先进行完全背包处理,再单独处理大奶酪情况。代码展示了如何计算最优解,并给出了示例输入输出。文章还提到后续将继续分享算法竞赛相关内容和解题心得。

2026-01-13 08:37:43 430

原创 打卡信奥刷题(2682)用C++实现信奥题 P2968 [USACO09DEC] Bobsledding S

题目描述Bessie从山顶滑雪到山脚,距离为L,起点速度为1。滑行中每米速度可增减1或保持不变。途中会遇到N个转弯处,每个转弯处有最大速度限制S_i。求滑雪过程中的最高速度。 解法思路:首先处理转弯处的速度限制,通过逆向计算确定每个转弯处的实际最大速度。然后正向计算可能达到的最大速度,考虑加速和减速的情况,并最终比较终点速度。 关键点:1. 逆向处理转弯点速度限制;2. 正向计算可能的最大速度;3. 考虑终点无速度限制的情况。 示例输入输出展示了算法如何计算最高速度。C++实现通过排序和动态规划解决该问题,

2026-01-13 07:16:06 296

原创 打卡信奥刷题(2681)用C++实现信奥题 P2963 [USACO09NOV] Cow Rescue G

摘要:本文介绍了USACO09NOV题目"Cow Rescue G"的解题思路。贝希被困在N行三角形迷宫中,需从起点(Si,Sj)找到最近的出口(共M个)逃离。通过分析三角形坐标关系,实现了高效计算最短路径的算法。C++代码通过判断坐标奇偶性和相对位置,计算最小逃离时间,并在多解时选择行列最小的出口。样例输入输出展示了算法正确性。该解法适用于大规模数据(N≤1,000,000,M≤10,000),体现了数学建模在算法竞赛中的应用价值。

2026-01-12 15:02:31 1087 1

原创 打卡信奥刷题(2680)用C++实现信奥题 P2954 [USACO09OPEN] Grazing2 S

题目描述约翰有N头奶牛分布在S个牛棚中,要求重新安置奶牛使得相邻奶牛间距尽量均匀(与理论最大间距d的差值不超过1),并最小化奶牛移动总距离。算法使用动态规划,先对奶牛位置排序,计算理论间距d和需要调整的间距数c2,通过状态转移方程f[i][j]记录前i头奶牛中调整j个间距的最小移动距离。最终输出f[n][c2]作为最优解。示例输入5头奶牛在10个牛棚中,输出最小移动距离4。该算法适用于N≤1500和S≤1,000,000的情况。

2026-01-12 12:53:34 1041

原创 打卡信奥刷题(2679)用C++实现信奥题 P2953 [USACO09OPEN] Cow Digit Game S

本文介绍了USACO 2009年公开赛的一道数字游戏题目(P2953)。游戏规则是双方轮流将当前数字减去其最大或最小非零数码,先使数字变为0者胜。贝茜先手,双方均采取最优策略。解题思路是使用动态规划预处理1到1,000,000的胜负状态,然后根据输入直接查询结果。C++实现通过遍历数字各位来判断胜负,时间复杂度为O(n)。示例输入9和10分别输出"YES"和"NO",验证了算法正确性。该解法高效处理了大规模查询,适用于博弈论类问题。

2026-01-12 11:47:22 365

原创 打卡信奥刷题(2678)用C++实现信奥题 P2939 [USACO09FEB] Revamping Trails G

本文介绍了USACO09FEB题目《Revamping Trails G》的解法。题目要求农夫约翰通过改造K条小径为高速公路(时间降为0),找到从牧场1到N的最短路径。采用分层图+Dijkstra算法,维护dis[u][k]表示使用k次改造时的最短距离。C++实现中,使用优先队列处理每个状态,当k>0时考虑改造或不改造当前路径的情况。样例输入4个牧场4条路径K=1时,最佳方案是改造3→4路径,使总时间从101降为1。该解法适用于N≤10,000、K≤20的情况。

2026-01-12 08:09:38 766

原创 打卡信奥刷题(2677)用C++实现信奥题 P2938 [USACO09FEB] Stock Market G

摘要:本文介绍了USACO 2009年2月赛题"Stock Market G"的C++实现。题目描述奶牛贝西如何在D天内通过买卖S只股票使初始资金M最大化。算法采用动态规划,逐天计算股票差价收益,通过完全背包思想更新每日最大收益。代码使用二维数组存储股价,一维数组dp记录收益,最终输出最大资金值。样例输入2只股票3天数据,输出正确结果24元。文章结尾提到将持续分享算法竞赛题解和编程心得。

2026-01-12 07:18:35 313

原创 打卡信奥刷题(2676)用C++实现信奥题 P2922 [USACO08DEC] Secret Message G

本文介绍了USACO2008年12月比赛的一道题目"Secret Message G"的解法。题目要求统计N条暗号与M条截获信息的前缀匹配数量。解题思路是使用Trie树数据结构高效处理二进制字符串的前缀匹配问题。文章详细说明了输入输出格式,给出了样例输入输出,并提供了C++实现代码。代码通过Trie树存储信息,统计经过每个节点的字符串数量,查询时根据暗号长度与信息长度的关系计算匹配数量。算法的时间复杂度与字符串总长度相关,适用于题目给定的数据规模。

2026-01-11 18:14:10 959

原创 打卡信奥刷题(2675)用C++实现信奥题 P2921 [USACO08DEC] Trick or Treat on the Farm G

本文介绍了USACO竞赛题目P2921的解决方案。题目要求计算每头奶牛在牛棚中收集糖果时经过的隔间数量,直到遇到重复为止。通过深度优先搜索(DFS)算法,标记访问过的节点并记录路径长度,最终输出每头奶牛的移动步数。C++实现中使用了递归和标记数组来高效解决问题,适用于大规模数据(N≤100,000)。样例输入输出展示了算法的正确性,后续将继续分享类似竞赛题目的解题思路和代码实现。

2026-01-11 14:05:01 603

原创 打卡信奥刷题(2674)用C++实现信奥题 P2919 [USACO08NOV] Guarding the Farm S

题目要求计算农场地图中的山顶数量。山顶定义为由相同高度的相邻元素组成,且被地图边缘或更低高度的元素完全包围的区域。相邻元素包括八个方向(上下左右及对角线)。 解题思路: 读取N×M的矩阵数据,记录每个点的高度 将所有点按高度降序排序 从最高点开始深度优先搜索(DFS),标记访问过的点 每次遇到未访问的最高点时,增加山顶计数并扩展搜索其连通区域 关键点: 使用结构体存储坐标和高度 按高度排序后从高到低处理 8方向DFS搜索连通区域 时间复杂度主要取决于排序步骤,为O(NM log NM) 示例输入输出展示了三

2026-01-11 12:23:22 380

原创 打卡信奥刷题(2673)用C++实现信奥题 P2916 [USACO08NOV] Cheering up the Cow G

摘要:题目描述农夫约翰需要拜访N个牧场的奶牛,要求选择最优路径使总时间最小。每个牧场有交谈时间Ci,路径有行走时间Lj。解决方案是构建最小生成树(MST),总时间为MST边权之和(包含2倍路径时间+两端点Ci)加上最小Ci作为起点。C++实现使用Kruskal算法,按处理后的边权排序并查集构建MST,最后输出总时间。样例输入5牧场7路径,输出最优解176。

2026-01-11 08:22:41 743

原创 打卡信奥刷题(2672)用C++实现信奥题 P2914 [USACO08OCT] Power Failure G

本文介绍了USACO竞赛题目P2914的解决方案。题目描述了一场雷暴后农场电力网的修复问题,要求计算从电线杆1到电线杆N恢复电力连接所需的最小电线长度,其中每条电线长度不超过M。使用Dijkstra算法计算最短路径,考虑了现有电线和可新建电线的情况。C++实现通过优先队列优化,处理坐标距离计算和最短路径求解,最终输出所需长度的1000倍整数或-1(无法连接)。代码使用邻接矩阵存储距离,时间复杂度为O(N^2)。该方案适用于N≤1000的规模,能有效解决电力网修复问题。

2026-01-11 07:20:00 894

原创 打卡信奥刷题(2671)用C++实现信奥题 P2890 [USACO07OPEN] Cheapest Palindrome G

题目要求将给定字符串通过增减字母操作变为回文串,求最小花费。使用动态规划解决,定义f[i][j]表示将子串s[i..j]变为回文的最小花费。状态转移考虑两种情况:1) 对两端字符进行增删操作;2) 当两端字符相同时直接处理内部子串。初始化单个字符的花费为0,空串花费为0。最终输出f[1][n]即为整个字符串的最小修改花费。该解法时间复杂度O(n^2),适用于长度≤2000的字符串。

2026-01-10 12:29:25 730

原创 打卡信奥刷题(2670)用C++实现信奥题 P2886 [USACO07NOV] Cow Relays G

题目要求计算无向连通图中从起点S到终点E经过N条边的最短路径长度。使用矩阵快速幂优化算法,将图邻接矩阵离散化后,通过矩阵乘法模拟路径转移,实现O(logN)时间复杂度求解。输入包含边数T、起点S、终点E和边信息,输出最短路长度。示例输入N=2时输出10。算法核心是矩阵快速幂优化,适用于大规模N(≤1e6)的情况。代码实现包括离散化顶点、矩阵乘法定义和快速幂运算,最终输出结果。

2026-01-10 10:35:11 238

原创 打卡信奥刷题(2669)用C++实现信奥题 P2882 [USACO07MAR] Face The Right Way G

题目描述了一排N头牛,每头牛初始朝前(F)或朝后(B)。农夫每次可以选择连续的K头牛翻转其朝向,求使所有牛都朝前的最小操作次数M及对应的最小K。输入为N和每头牛的朝向,输出为K和M。样例输入7头牛(B,B,F,B,F,B,B),输出K=3时M=3次操作即可。C++解法通过枚举K值,利用差分数组高效计算翻转次数,时间复杂度为O(N^2)。对于N≤5000的数据规模,该算法可以高效求解。

2026-01-10 09:23:55 375

原创 打卡信奥刷题(2668)用C++实现信奥题 P2881 [USACO07MAR] Ranking the Cows G

摘要:题目描述FJ需要根据已知的M对奶牛产奶能力相对关系(X>Y),计算出至少还需要多少对比较才能完成所有N头奶牛的完整排序。使用bitset优化Floyd传递闭包算法,统计已确定的关系对数,最终结果为总可能关系对数(n*(n-1)/2)减去已确定的关系数加上n。样例输入5头奶牛5对关系,输出还需3对比较才能确定完整排序。C++实现通过位运算高效处理传递闭包,计算未确定关系数。

2026-01-10 08:34:18 297

原创 打卡信奥刷题(2667)用C++实现信奥题 P2867 [USACO06NOV] Big Square S

题目描述了一个N×N点阵,John和Bob的牛占据部分点。要求找出John的牛能组成的最大正方形面积(可包含一个额外点)。解法是枚举所有可能的正方形顶点组合,检查是否至少3个点是John的牛,并计算面积。C++实现通过四重循环遍历所有可能的正方形,利用坐标变换和勾股定理计算面积,最终输出最大值。时间复杂度为O(N^4),适用于N≤100的情况。

2026-01-10 07:14:23 843

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关注的人

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