自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(83)
  • 收藏
  • 关注

原创 P9178 [COCI 2022/2023 #5] Diskurs

给你 n 个非负整数 a1​,a2​,⋯an​,任何一个都小于 2m。对于其中的每一个数,你都要找出它与数组中其他元素之间的最大哈明距离。两个非负整数的哈明距离被定义为在这些数字的二进制表示中,它们之间有多少个不同的位置(如果有必要,加上前导零)。

2026-02-03 21:33:54 520

原创 P1955 [NOI2015] 程序自动分析

在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设 x1​,x2​,x3​,⋯ 代表程序中出现的变量,给定 n 个形如 xi​=xj​ 或 xi​=xj​ 的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足。例如,一个问题中的约束条件为:x1​=x2​,x2​=x3​,x3​=x4​,x4​=x1​,这些约束条件显然是不可能同时被满足的,因此这个问题应判定为不可被满足。

2026-02-03 21:31:08 491

原创 P11150 [THUWC 2018] 字胡串

2018 清华大学信息学冬季体验营(THUWC 2018)D1T3。2s,0.5G。我希望你明白,优秀的出题人是懒得写题目背景的。但是优秀的题目也可能需要让选手了解一些基本定义, 例如以下这些内容, 而熟练的算法竞赛选手几乎可以无视。对于一个字符串 S, 我们定义 ∣S∣ 表示 S 的长度。接着,我们定义 Si​ 表示 S 中第 i 个字符,SL,R​ 表示由 S 中从左往右数,第 L 个字符到第 R 个字符依次连接形成的字符串。

2026-02-03 21:18:19 912

原创 P6024 机器人

小 W 购买了一个机器人。

2026-02-03 21:14:34 606

原创 U1696 取牌游戏

按从小到大的顺序输出。

2026-02-03 21:11:00 623

原创 U1697 周末舞会

假设在周末舞会上,男士们和女士们进入舞厅时,各自排成一队。跳舞开始时,依次从男队和女队的队头上各出一人配成舞伴。规定每个舞曲能有一对跳舞者。若两队初始人数不相同,则较长的那一队中未配对者等待下一轮舞曲。现要求写一个程序,模拟上述舞伴配对问题。

2026-01-30 17:29:22 71

原创 U1684 C老师的翻译

CC老师的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译算法论文。这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换。对于每个英文单词,软件会先在内存中查找这个单词的中文含义,如果内存中有,软件就会用它进行翻译;如果内存中没有,软件就会在外存中的词典内查找,查出单词的中文含义然后翻译,并将这个单词和译义放入内存,以备后续的查找和翻译。假设内存中有 MM 个单元,每单元能存放一个单词和译义。

2026-01-30 17:26:24 461

原创 U1683 C老师玩游戏

在一个风和日丽的下午,CC老师和 n−1n−1 个小朋友手拉手站成一个圈van♂游戏:从第一个小朋友开始循环报数,报到 MM 的那个小朋友退到圈外,然后他的下一位重新报 11。如此反复,直到只剩一个小朋友。现在,CC老师想知道,最后一个剩下的那个小朋友最初站在什么位置。(CC老师也可以看作一个小朋友)。由于CC老师还在van♂游戏,只有你来告诉他答案了。

2026-01-30 17:18:28 412

原创 U1682 C老师想取钱

在现代文明社会中,大家在诸如银行办理业务、车站买票等活动时都很文明,没有插队的现象,本着“先来先服务”的规矩。一天,正在购物的CC老师发现身上没钱了,所以他想去取点钱。CC老师到银行时发现很多人在办理业务,CC老师就地在排队机上去了一个业务号码,并焦急的等待着银行柜台叫自己的号码……。

2026-01-30 17:11:36 85

原创 U1681 C老师玩卡牌

CC老师有一副卡牌,他觉得普通的van♂法太无聊了,所以他发明了一种新的发牌方式。CC老师在桌子上放了一堆牌,从第一张牌(即位于顶面的牌)开始从上往下依次编号为 1∼n1∼n。CC老师会在至少还剩两张牌时进行以下操作:把第一张扔掉,然后把新的第一张放到整堆牌的最后。现在,CC老师想知道,如果他有 nn 张牌,最后会形成怎样的一个发牌序列。由于CC老师还在van♂卡牌,只有你来告诉他答案了。

2026-01-30 17:08:53 264

原创 成绩排序(c++)

给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。

2025-12-13 09:58:17 224

原创 整数奇偶排序

题目要求对10个整数重新排序:奇数在前从大到小排列,偶数在后从小到大排列。输入样例为"47 31 31 12 0 47 34 98",输出结果为"47 31 13 7 0 12 34 98"。程序实现思路:将奇数和偶数分别存入两个数组,分别排序后逆向输出奇数数组,正向输出偶数数组。使用标准库的sort函数完成排序操作,最终按要求格式输出结果。

2025-12-13 09:20:08 214

原创 奇数单增序列

给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出。

2025-12-13 08:52:02 165

原创 P6666 [清华集训 2016] 数据交互【yangmee】(c++)

一个简单的网络系统可以被描述成一棵无根树。每个节点为一个服务器。连接服务器与服务器的数据线则看做一条树边。两个服务器进行数据交互时,数据会经过连接这两个服务器的路径上的所有服务器(包括这两个服务器自身)。每个数据交互请求都有一个非负的重要度,越重要的请求显然需要得到越高的优先处理权。此外,如果在某一个时刻存在一条非常重要(可以看作重要度无穷大)、且数据量巨大的交互请求,则所有被该交互经过的服务器都会优先处理这条交互并阻塞,从而导致其他通过这些服务器的交互出现延迟。

2025-11-02 14:17:38 984

原创 P3743 小鸟的设备【yangmee】(c++)

同时小鸟又有一个可以给任意一个设备充电的充电宝,每秒可以给接通的设备充能 p 个单位,充能也是连续的,不再赘述。你可以在任意时间给任意一个设备充能,从一个设备切换到另一个设备的时间忽略不计。设你的答案为 a,标准答案为 b,只有当 a,b 满足 max(1,b)∣a−b∣​≤10−4 的时候,你能得到本测试点的满分。对于 100% 的数据,1≤n≤100000,1≤p≤100000,1≤ai​,bi​≤100000。接下来 n 行,每行表示一个设备,给出两个整数,分别是这个设备的 ai​ 和 bi​。

2025-11-02 13:58:28 291

原创 P1051 [NOIP 2005 提高组] 谁拿了最多奖学金【yangmee】(c++)

接下来的 N 行每行是一位学生的数据,从左向右依次是姓名,期末平均成绩,班级评议成绩,是否是学生干部,是否是西部省份学生,以及发表的论文数。只要符合条件就可以得奖,每项奖学金的获奖人数没有限制,每名学生也可以同时获得多项奖学金。例如姚林的期末平均成绩是 87 分,班级评议成绩 82 分,同时他还是一位学生干部,那么他可以同时获得五四奖学金和班级贡献奖,奖金总数是 4850 元。现在给出若干学生的相关数据,请计算哪些同学获得的奖金总数最高(假设总有同学能满足获得奖学金的条件)。

2025-11-01 09:51:48 288

原创 P1085 [NOIP 2004 普及组] 不高兴的津津【yangmee】(c++)

妈妈认为津津应该更加用功学习,所以津津除了上学之外,还要参加妈妈为她报名的各科复习班。但是津津如果一天上课超过八个小时就会不高兴,而且上得越久就会越不高兴。假设津津不会因为其它事不高兴,并且她的不高兴不会持续到第二天。如果会的话,哪天最不高兴。如果不会不高兴则输出 0,如果会则输出最不高兴的是周几(用 1,2,3,4,5,6,7 分别表示周一,周二,周三,周四,周五,周六,周日)。每行包括两个小于 10 的非负整数,用空格隔开,分别表示津津在学校上课的时间和妈妈安排她上课的时间。

2025-11-01 09:24:23 175

原创 P6236 [COCI 2010/2011 #1] LJUTNJA【yangmee】(c++)

不幸的是,糖果数不足以满足所有小孩的期望。共 10 颗糖果,共 4 人,给每一个同学他所需要的糖果数减 1,也就是依次给 3,4,1,2 颗,这样的话每人少一颗,每人的生气指数就是 12=1,4 个人就是 1×4=4,答案 4 是最优方案。每一个小孩都给出了一个期望的糖果数,如果没有达到他的期望值 ai​,小孩就会生气。每差一个糖果,小孩的生气指数就会增加,可以认为他生气的程度等于他少得到的糖果数的平方。幼儿园的小孩们收到了一个有 m 颗糖果的大包裹,现在要把这些糖果分给 n 个小孩。

2025-10-31 22:20:22 395

原创 P5968 [POI 2017] Reprezentacje ró?nicowe【yangmee】(c++)

比如 repr(17)=(6,3),repr(18)=(16,15)。现有 n 个询问,每次给定一个正整数 x,请求出 repr(x)。其中 rn−1​=mex(∣ai​−aj​∣)(1≤i≤j≤n−1), mex{S} 表示最小的不在 S 集合里面的非负整数。可以证明,对于任意正整数 x,只存在唯一一对整数 (p,q) 满足 x=ap​−aq​,定义为 repr(x)。对于 100% 的数据,1≤n≤105,1≤x≤109。接下来 n 行,每行一个正整数 x,表示一个询问。第一行包含一个正整数 n。

2025-10-31 22:13:22 487

原创 简单算术表达式求值【yangmee】(c++)

整型算数运算的结果(结果值不一定为2位数,可能多于2位或少于2位)。01:简单算术表达式求值。运算数 运算符 运算数。

2025-10-31 21:35:32 187

原创 矩阵转置【yangmee】(c++)

该题目要求实现矩阵转置操作。给定一个n行m列的矩阵A,需要输出其转置矩阵AT(m行n列)。输入包含矩阵的行列数和元素值,输出时行列互换并按行输出。例如3x3矩阵的转置会将原矩阵的第一列变为转置矩阵的第一行。解题关键是理解转置的定义,即AT[i][j] = A[j][i]。实现时只需按列优先顺序读取原矩阵元素即可完成转置。

2025-10-25 08:12:10 263

原创 1024:一个神秘数字的“程序猿”社会学研究【羊蜜不是羊】(20251024纪念)

1024,一个看似普通的四位数。在数学家眼里,它是2的10次方;在程序员眼里,它是1KB的字节数;但在广大“程序猿”的江湖里,它早已升华为一种信仰、一个梗、一声问候,甚至是一份专属的节日祝福。今天,我们就来深度解码1024背后的“程序猿”社会学。

2025-10-24 21:57:49 6972 1

原创 【羊蜜不是羊】 找第一个只出现一次的字符

题目要求找出字符串中第一个仅出现一次的字符。使用哈希表统计各字符出现次数后,再次遍历字符串寻找第一个出现次数为1的字符。若找到则输出该字符,否则输出"no"。时间复杂度为O(n),适用于长度不超过100000的字符串。

2025-09-27 09:49:54 190

原创 【羊蜜不是羊】洛谷P1526 [NOI2003] 智破连环阵

摘要:B国研发了由M个武器组成的连环阵武器系统,A国计划用n枚炸弹摧毁它。炸弹按特定序列引爆,每枚爆炸5分钟,可摧毁攻击范围内处于攻击状态的武器。武器被摧毁后会自动激活下一个武器。题目要求找出最优炸弹引爆序列,用最少的炸弹摧毁整个连环阵。输入包括武器和炸弹坐标,输出实际使用的炸弹数x的最小值。算法使用深度优先搜索结合匈牙利匹配进行优化,确保在限定时间内找到最优解。

2025-09-21 13:04:12 423

原创 【羊蜜不是羊】洛谷P1335 [NOI2013] 小 Q 的修炼

文章摘要: 本文描述了一个角色扮演游戏的决策系统实现,该系统通过代码脚本驱动游戏剧情发展。游戏包含三种事件类型(普通事件、选择跳转和条件跳转),玩家需要通过选择影响变量值来最大化"成就值"。作者提供了针对10个测试用例的预计算解决方案,使用位操作编码选择序列,并设计了动态规划算法来优化决策路径。文中详细说明了输入输出格式、评分标准,以及如何使用checker工具验证解决方案的正确性。代码实现采用了C++98标准,包含对特殊测试用例的处理逻辑和优化策略。

2025-09-21 12:33:12 1021

原创 【羊蜜不是羊】洛谷P10787 [NOI2024] 树的定向

题目要求对一棵树的边进行定向,使得给定的m对顶点(a_i, b_i)中a_i无法到达b_i,并要求在所有满足条件的定向方案中,输出字典序最小的01字符串表示。该问题通过构建约束条件并利用贪心算法求解,最终生成满足条件的边定向方案。核心思路包括:1)预处理树的LCA和路径信息;2)通过并查集和贪心策略逐步确定边的最小字典序定向;3)利用队列处理约束条件,确保方案合法。该方法高效处理了大规模树结构下的约束条件,保证了最优解的正确性。

2025-09-21 11:02:35 1467

原创 【羊蜜不是羊】洛谷P10788 [NOI2024] 分数

题目摘要:给定正整数n和m,求所有分子不超过n、分母不超过m的完美正分数个数。完美正分数集合S由五个性质唯一确定:包含1/2;排除(1/2,2)区间;对x∈S,其倒数1/x∈S;对x∈S,x+2∈S;对x∈S且x>2,x-2∈S。要求实现高效算法计算满足条件的互质分数对(i,j)的数量。输入n和m,输出结果。数据范围:2≤n,m≤3×10^7。样例解释给出了分子分母均不超过10时的16个完美正分数。

2025-09-21 10:49:18 321

原创 【羊蜜不是羊】P10790 [NOI2024] 树形图

本文研究有向图中顶点的分类问题。给定n个顶点m条边的简单有向图,定义三类顶点:一类点(根点)、二类点和三类点。一类点要求到所有其他顶点存在唯一简单路径;二类点要求通过删边可以成为根点;不满足前两类的为三类点。 算法采用以下步骤:首先进行强连通分量分解,若存在多个入度为0的强连通分量,则所有顶点为三类点;否则寻找可能的一类点,通过生成树和返祖边分析确定一类点;再通过动态规划和树状数组处理确定二类点;其余为三类点。 算法时间复杂度主要取决于强连通分量分解和生成树处理,适用于大规模数据(n≤1e5,m≤2e5)。

2025-09-20 09:48:19 1107

原创 【羊蜜不是羊】校门外的树(c++)

摘要:这是一个统计程序,用于分析患病人群年龄分布情况。程序将患者按0-18、19-35、36-60、61及以上四个年龄段分类,计算各年龄段患者占总患者的比例,并以百分比形式输出(精确到小数点后两位)。输入第一行是患者数量n,第二行是n个患者的年龄。输出四行分别对应四个年龄段的患病比例。例如,输入10个患者的年龄后,程序会计算并输出各年龄段占比。

2025-09-20 09:10:05 182

原创 【羊蜜不是羊】数组逆序重放(c++)

摘要:本文描述了一个数组逆序输出的编程问题。要求输入数组元素个数n和n个整数,输出其逆序结果。例如输入8,6,5,4,1,输出1,4,5,6,8。给出了C++实现代码,通过反向遍历数组实现逆序输出。该问题考察基本的数组操作和循环控制能力,适合编程初学者练习。

2025-09-20 08:51:33 277

原创 【羊蜜不是羊】陶陶摘苹果(c++)

题目要求计算陶陶能摘到的苹果数量。已知10个苹果的高度(100-200厘米)和陶陶伸直手的最大高度(100-120厘米),陶陶可以站在30厘米高的板凳上摘苹果。解题思路是将陶陶身高加板凳高度(h+30)与每个苹果高度比较,统计能够得着的苹果数量。输入两行数据:第一行是10个苹果高度,第二行是陶陶身高。输出结果为能摘到的苹果个数。例如样例输入中,陶陶身高110厘米,加上板凳后140厘米,能摘到5个苹果。时间复杂度为O(10),只需遍历10个苹果高度进行比较即可。

2025-09-20 08:26:02 356

原创 【羊蜜不是羊】洛谷P10789 [NOI2024] 登山(c++)

需要满足:对于初始点位或某次移动到的点位 i,以后冲刺到的点位 j 都必须满足 dj​<di​−hi​,其中 hi​ 是一个给定的参数,保证 0≤hi​<di​。,am​=1 满足对于 1≤i<m,ai+1​ 是 ai​ 的 k(lai​​≤k≤rai​​) 级祖先或 pai+1​​=ai​。,am​ 需要满足:对于所有 1≤i<j≤m,若 paj​​=aj−1​,则 daj​​<dai​​−hai​​。对于任意的 2≤i≤n,保证:1≤pi​<i,1≤li​≤ri​≤di​,0≤hi​<di​。

2025-06-23 22:15:45 1419

原创 【羊蜜不是羊】生日(c++)

有\$n\$行,即\$n\$个生日从大到小同学的姓名。(如果有两个同学生日相同,输入靠后的同学先输出)第1行为学徒总人数\$n(n<10)\$,随后\$n\$行分别是每人的姓名、出生年、月、日。李旭琳想统计每个学徒的生日,并按照年龄从大到小的顺序排序。但她没有时间,所以请你帮她排序。

2025-06-22 14:33:51 243

原创 【羊蜜不是羊】选举(c++)

标准输入,第一行为一个整数\$N\$(\$N\$不超过100),表示参选人数。随后\$N\$行为各人姓名,之后是一个整数\$M\$(\$M\$不超过100),表示总投票数,随后\$M\$行,每行为一个姓名,表示该参选人获得一张选票,,如果选票上的姓名与参选人姓名不匹配,则为废票。请编程统计三人的得票数,即每次输入一个得票的候选人的名字,要求最后输出各人得票结果。输出每个参选人的姓名及得票数,中间以空格间隔,每个参选人占一行,按输入数据的初始顺序排列。

2025-06-22 14:23:45 230

原创 【羊蜜不是羊】各位数字之和排序(c++)

输入数据有多组,每组数据占一行,每行的第一个数正整数\$n\$,表示整数个数,后面接\$n\$个正整数。当\$n\$为0时,不作任何处理,输入结束。\$n\leq 10\$给定$n$个正整数,根据各位数字之和从小到大进行排序。C语言实验6-一维数组的应用。输出每组排序的结果。

2025-06-22 13:51:01 189

原创 【羊蜜不是羊】小鑫爱运动 (c++)

小鑫非常喜欢运动,有一次小鑫去参加110米栏的比赛,一共有10名比赛选手,小鑫是1号,由于跑的太专注,最后冲线的时候不知道自己是第几名,只知道每个人最后的成绩,聪明的你可不可以帮帮他?然后每组输入10个整数,代表10个选手的110米栏成绩\$m\$,代表1号到\$N\$号的\$N\$个选手的成绩\$m\$,\$m\$范围是(\$0 < m < 100\$)。因为小鑫长得丑,成绩相同时,他总是排在前面。输出只有一行,代表小鑫最后的名次是多少。C语言实验6-一维数组的应用。

2025-06-22 13:38:58 320

原创 【羊蜜不是羊】赶作业(c++)

输入包含了多个测试用例。输入的第一行是一个整数\$T\$,代表测试用例的个数。接下来的就是\$T\$个测试用例的输入。每个测试用例都从一个正整数\$N\$(\$1\leq N\leq 1000\$)开始,代表了作业的数目。第一行包含\$N\$个整数,分别代表各个作业提交的最后期限;第二行也有\$N\$个整数,即对应于各个作业超过时间提交的扣分。每个老师都给了他一个完成作业的最后期限,如果他超过期限交作业,老师就会在他的期末评价中扣分。对每一个测试用例,应该在一行中输出最小的扣分数。算法宝典2 贪心算法。

2025-06-22 13:25:07 272

原创 【羊蜜不是羊】田忌赛马(c++)

田忌的马A和齐王的B之间,如果田忌的马胜,则连一条权为200的边;如果平局,则连一条权为0的边;然而,赛马问题是一种特殊的二分图最佳匹配的问题,上面的算法过于先进了,简直是杀鸡用牛刀。第二行\$n\$个整数,每个整数都代表田忌的某匹马的速度值(\$0\le \$ 速度值\$\le 100\$)。由于齐王总是先出最好的马,再出次好的,所以田忌用常规马对齐王的超级马,用自己的超级马对齐王的上级马,用自己的上级马对齐王的常规马,以两胜一负的战绩赢得200银币。齐王的马好,同等级的马,齐王的总是比田忌的要好一点。

2025-06-22 13:23:42 748

原创 【羊蜜不是羊】监测点(c++)

你告诉同桌,说做了一个好长好长的梦。你看着窗外的球场,一切都那么熟悉,一切还充满希望……第一行为一个整数\$X\$,表示有\$X\$组数据,每组数据第一行为一个整数\$n\$(\$n\leq 100\$),表示有\$n\$个闭区间,随后\$n\$行每行为两个整数,表示区间左端\$a\$和右端\$b\$(\$0\leq a\leq b\leq 100\$)。话说张琪曼等人将历史时间线划分了\$n\$个区域,我们可以将之看成是数轴上的\$n\$个闭区间\$[a_i,b_i]\$。算法宝典2 贪心算法。

2025-06-22 13:21:56 292

原创 【羊蜜不是羊】闭区间问题(c++)

通过魔法钟回来的张琪曼和魔法学院的其他学员一起研究营救李旭琳脱离“时空陷”的方法。他们建立了\$n\$个对历史时间线的监控点,每个监控点可监控历史上的一个时间段,我们可以简单地看做是 x 轴上 \$n\$ 个闭区间。但有些监控点监控的时间段是重叠的,这会干扰监控的准确性。请尝试去掉尽可能少的闭区间,使剩下的闭区间都不相交。第一行为闭区间的个数\$n\$,随后\$n\$行为闭区间的2个端点。区间个数\$n\$:\$1\leq n\leq 40000\$输出去掉尽可能少的闭区间的个数。算法宝典2 贪心算法。

2025-06-22 13:20:40 162

空空如也

空空如也

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

TA关注的人

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