- 博客(210)
- 收藏
- 关注
原创 【题解】【洛谷P14358】【模拟】【二分】【排序】—— [CSP-J 2025] 座位
名考生将按照 CSP-J 2025 第一轮成绩从高到低的顺序,根据下图中的箭头顺序分配座位。为小 R CSP-J 2025 第一轮的成绩,你需要帮助小 R 求出,他的座位为第几。,分别表示小 R 所在的考场的所有考生 CSP-J 2025 第一轮的成绩,其中。,以及小 R 所在的考场的所有考生 CSP-J 2025 第一轮的成绩。储存小R的分数,然后进行排序并分配座位。为小 R CSP-J 2025 第一轮的成绩。具体地,设小 R 所在的考场的所有考生的成绩。,分别表示小 R 所在的考场座位的。
2025-11-15 21:56:39
672
原创 【题解】【洛谷P14357】【模拟】【贪心】【字符串】—— [CSP-J 2025] 拼数
小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出他能拼成的正整数的最大值。小 R 正在学习字符串处理。小 X 给了小 R 一个字符串。:先将所有的数字挑出来,然后从大到小排序,所得数字一定最大。输出一行一个正整数,表示小 R 能拼成的正整数的最大值。,要你挑出其中所有的数字,将其排列组合使得所得数字最大。中的任意多个数字,按任意顺序拼成一个正整数。可以证明,小 R 拼成的正整数的最大值为。,表示小 X 给小 R 的字符串。小 X 希望小 R 使用。函数的应用和字符串处理。
2025-11-15 21:54:38
586
原创 【题解】【洛谷P8817】【图论】【枚举】【搜索】——[CSP-S 2022] 假期计划
首先分析题目,很容易想到这是一道有关图论的题目。因为本题似乎不牵连任何的图论算法(例如最短路),所以考虑自行设计算法。转车时经过的点没有任何限制,既可以是家、也可以是景点,还可以重复经过相同的点。景点 B 的这段行程中,转车时经过的点可以是家、也可以是景点 C,还可以是景点 D。,分别表示地图上点的个数、双向直达的点对数量、每段行程最多的转车次数。假设每个景点都有一个分数,请帮小熊规划一个行程,使得小熊访问的四个。预处理是算法竞赛中的常用操作,可以将一些算法的时间复杂度。最后是是否相同的检查。
2025-10-20 09:30:00
1793
原创 【题解】【洛谷P7915】【贪心】【栈】——[CSP-S 2021] 回文
请你判断该目的是否能达成,如果可以,请输出字典序最小的操作方案,具体在【没有满足条件的就说明不符合,直接。的元素在两个栈之一的栈底,那么就可以取到,记录操作。那么就形成了两个序列。因为每次只可以取两个序列之一的。中两个相邻且相等的数,存在一种方式将序列删空(例如。既然已经确定了两个数的顺序,那么这两个数就已经。你需要输出所有方案对应的字符串中字典序最小的一个。同理,代表右边第一个数在序列中对应的数的位置。每一次只可以取两个栈栈顶的元素。,表示测试数据的组数。构成的字符串(不含空格),其中。
2025-10-20 08:30:00
766
原创 【题解】【洛谷P8818】【贪心、RMQ问题】——[CSP-S 2022] 策略游戏
小 L 的目标是使得这个得分尽可能大,小 Q 的目标是使得这个得分尽可能小。同时两人都是足够聪明的玩家,每次都会采用最优的策略。行,每行一个整数,分别表示每一轮游戏中,小 L 和小 Q 在最优策略下的得分。能考虑到自己的选择(可能有点绕口,但是这是重点)请问:按照二人的最优策略,每轮游戏的得分分别是多少。区间最小最大,可以发现这是一个静态的。行,每行四个正整数,表示这一次游戏的。在第一轮游戏中,无论小 L 选取的是。而在第二轮游戏中,由于小 L 可以选。轮,在每一轮游戏中,会事先给出。
2025-10-19 10:10:29
813
原创 【编程学前班】—— 计算机是如何存储数据的?—— 内存的认识以及原码,反码和补码
本篇文章内容容易在GESP三级中考到。属于基础内容,请读者有所掌握,但不需要死记硬背,理解即可。
2025-10-19 10:09:42
722
原创 【算法讲解】【如何区分动态规划,贪心和递推?】动态规划算法初步介绍(DP)和【题解】【洛谷P1216】【动态规划】—— [IOI 1994] 数字三角形 Number Triangles
相信读者已经解除很多“求最佳方案的题目”了。这类题目可以使用贪心算法每一步选择当前最优解,或者是枚举和搜索算法,枚举所有可能的决策。但是考虑贪心的鼠目寸光和枚举(搜索)的时间复杂度巨大,当数据量稍大,就可以考虑用动态规划DynamicProgrammingDPDynamicProgrammingDP)解题。递推(递归):是一种方法,一种通过已知条件一步步推导出未知结果的思想。它是DP和贪心的基础工具。动态规划:是一种算法设计思想/范式。
2025-09-01 07:15:00
992
原创 【数学/其它】【位运算进阶】CSP-J/S等竞赛中经常会用到的位运算技巧和真题讲解(含CSP-J/S真题)
笔者最近正在备赛。每天写题着实有一点累,最近几天写到了一些有关于位运算的题。就想跟大家分享一下竞赛中位运算的技巧。代码功能0xFF & x取低8位(可类推)x & x-1去除x最右侧的1x & -x得到最低位的1的权重(lowbitx & 1 == 0判断是否是偶数(奇数同理)模运算优化,替代x % modpopcount():求出x二进制中1的个数。for(;x;return ret;或者可以直接使用函数。
2025-08-15 15:06:31
1068
原创 【题解】【洛谷P11229】【数学、贪心】——[CSP-J 2024] 小木棍
CSP−JT3CSP-JT3CSP−JT3大概率是关于贪心或者数学的题,T4T4T4是动态规划。所以通过猜测,此题可锁定贪心。并且通过特殊性质可以找到解法。本题比较考验思维(动态规划也可以做)。但是笔者考场没做出来,只拿到了暴力的20pts20pts20pts。……公众号上会及时提供信息学奥赛的相关资讯、各地科技特长生升学动态、还会提供相关比赛的备赛资料、信息学学习攻略等。
2025-08-01 17:59:59
1376
原创 【题解】【洛谷P11853】【差分】——[CSP-J2022 山东] 植树节
当所有的志愿者完成各自所选区间的浇水后,可能有些树苗被不同的志愿者浇水多次,也可能有的树苗一次也没被浇过水。受疫情影响,山东省取消了 CSP-J 2022 认证活动,并于次年三月重新命题,在省内补办比赛。i=0,1,2,\dots n-1$),表示志愿者。植树节快要到了,学校要组织志愿者去给树苗浇水。后面使用一个循环一边还原差分数组,一边更新。个整数,表示浇水最多的树苗被浇水的次数。请你求出浇水最多的树苗被浇了多少次。这一区间内的每一棵树都浇一次水。个志愿者去给树苗浇水,第。,表示志愿者的人数。
2025-08-01 17:59:08
852
原创 【题解】【洛谷P7076】【贪心、位运算】——[CSP-S 2020] 动物园
动物园里饲养了很多动物,饲养员小 A 会根据饲养动物的情况,按照《饲养指南》购买不同种类的饲料,并将购买清单发给采购员小 B。实际上根据购买到的饲料,动物园可能可以饲养更多的动物。根据《饲养指南》,小 A 将会制定饲料清单交给小 B,由小 B 购买饲料。的动物加入动物园饲养后,饲料清单没有变化,那么我们认为动物园当前还能饲养编号为。分别表示动物园中动物数量、《饲养指南》要求数、饲料种数与动物编号的二进制表示位数。条要求形如“如果动物园中饲养着某种动物,满足其编号的二进制表示的第。
2025-07-28 10:05:30
948
原创 【题解】【洛谷P2678】【贪心,二分】——[NOIP 2015 提高组] 跳石头
为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长。块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。块岩石与起点的距离。这些岩石按与起点距离从小到大的顺序给出,且不会有两个岩石出现在同一个位置。,分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。并且思考一下,最短跳跃距离越大,那么需要移走的石头就越多,符合。块岩石(不能移走起点和终点的岩石)。的两个岩石移走后,最短的跳跃距离为。
2025-07-25 12:38:31
694
原创 【指针之旅3】不再浪费空间——动态开辟空间的方式
int a[110];如果这是你产品之中的代码。上市之后发现数组大小还要扩大至1010。那么就要因为这一个小小的失误,重新改代码,重新发布。一点都不方便。如果一开始就把这个数组的空间设置的很大,那么无可避免的就会造成空间浪费。这个时候就有人会说了:可以用可变数组啊!动态扩容可方便了。确实可以。但是你知道可变数组的本质是什么吗?那就是数组动态扩容。动态地开辟内存,防止造成浪费。除了使用STLSTLSTL容器,我们还可以通过底层内存管理方式实现动态扩容那么如何实现呢?
2025-07-25 12:34:42
452
原创 【归纳】C++入门算法模版总结(超级详细!!!)(包括高精度,排序,枚举,二分,搜索,动态规划等)
本文针对有一定算法基础的选手制作,收录了大部分算法的模板,详细解说可以点进去我提供的链接了解。或者进入我的给一点支持! 本人也是一名新手,如果这篇文章有不严谨的地方或者不懂的地方可以在评论区留言,我会为你们一一解答的。 详见高精度算法解析和高精度赛场用模板。 目前没有关于高精度减法和除法的解析,之后会为大家补上。1.1.2.高精度减法1.1.3.高精度乘法1.1.4.高精度除法和取模 敬请期待。 在这里,我们通过分装一个结构体实现存储高精度数字。 在比赛中,
2025-07-04 16:14:33
1299
原创 【小知识——关键字解析】we are friend!——friend关键字和友元函数
如果你想要在让某个函数使用此类中定义的private成员,怎么办?那么你就可以使用friend关键字。直接看示例。
2025-07-03 21:18:36
248
原创 【动态规划】【背包】多重背包二进制优化(简单易懂)和【题解】——【洛谷P1776】宝物筛选
欠的债总是要还的。今天来把多重背包二进制优化补完。建议先食用【动态规划】【背包】多重背包模型讲解(附C++代码实现)
2025-07-03 19:28:58
601
原创 【数据结构讲解】【线性表2】—— 栈和队列基础和题目推荐
看看下面这个案例:(出自洛谷课件)像这种更早被放入桌子的盘子反而更晚出来的,后进先出LastInFirstOutLIFOLastInFirstOutLIFO)的数据结构叫做栈。栈是一种“后进先出”的线性表,其限制是仅允许在表的一端进行插入和删除运算,这一端被称为栈顶。看看下面这个案例:(出自洛谷课件)像这样,先排队的人先结账的,先进先出FirstInFirstOutFIF。
2025-07-02 15:44:17
1026
原创 【数据结构讲解】【线性表1】—— 可变数组和链表基础和题目推荐(附:auto关键字和范围for)
线性表(LinearListLinearList)是由同类型的数据元素构成的有限序列的线性结构。例如最简单的:数组就是一个线性表。接下来将带你认识更多的线性表,为后面的数据结构学习打下基础。可变数组,顾名思义就是长度可以变化的数组。在使用数组时,你有没有遇到过这样的情况?数组越界无检查数组开太大浪费空间数组开太小超出内存限制如果有,那么就来看一看可变数组(向量)吧。先来看看这个样例:如果知道一个人的后面是谁,就能知道他后面的后面是谁。
2025-07-02 15:43:24
650
原创 【编程学前班】—— 各种编程语言介绍和学习C++的原因
欢迎各位小朋友来到编程学前班!!!CC++C太难,是因为看不懂英文,还是因为自己蠢?都不是。学习CC++C需要一定的计算机基础。而这往往是广大学子和老师所忽视的。于是,编程学前班应运而生。在这里,你将更好地学习计算机的底层原理和相关只是,做到“趣学编程”,让你在学CC++C时更加的得心应手。
2025-06-08 11:49:15
1063
原创 【题解】【洛谷P1106】【贪心】——删数问题
个数字后剩下的数字按原左右次序将组成一个新的非负整数。然后是处理单调序列,也很简单,直接删除最后一个数就行了。这也启示了我们:一定要细心检查,不要认为题目很简单!有了这个铺垫,我们再来看一下上面的例子。想要使这个数最小,从左往右遍历整个数。,寻找一种方案使得剩下的数字组成的新数最小。,根据上面的法则,后者得出的数必定比前者小。但是如果没有符合条件的数呢?在代码中,我们首先将这个数变成一个。这个贪心策略的思想很简单,单纯地。那么这就是正确的贪心策略了。的时候,应当把它删掉。输出一个整数,最后剩下的最小数。
2025-06-08 11:48:27
1097
原创 【题解】【洛谷P1090】【贪心】【数组、二叉堆】[NOIP2004 提高组] 合并果子 / [USACO06NOV] Fence Repair G
通往洛谷的传送门在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n−1n-1n−1 次合并之后, 就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为 111 ,并且已知果子的种类 数和每种果子的数目,你的任务是设计出合并的次序方案,
2025-06-01 14:22:43
1027
原创 【贪心延伸】【特殊二叉树】哈夫曼树和哈夫曼编码
本文内容相对初学者来说较难,有一些概念还没学。可以等读者学完二叉树和二叉堆之后再返回来学习本章内容。给定nnn个权值作为nnn个叶子结点构造一棵二叉树,使该树的带权路径长度达到最小,则这样的树被称为哈夫曼树HuffmantreeHuffmantree),也称为最优二叉树。从根节点到某叶子结点经过的边的数量称为该叶子结点的路径长度每个叶子结点的路径长度与叶子结点权值之积的和称为树的带权路径长度WeightedPathLeng。
2025-06-01 14:05:16
1124
原创 【题解】【洛谷B4264】 [GESP202503 四级] 二阶矩阵
接着把所有行和列进行遍历,在遍历的过程中进行判断是否符合子矩阵的要求,符合则进行统计,最后输出结果就好。本题很简单,先定义存储的二维数组,然后定义一个变量进行统计符合要求的子矩阵的数量。中有多少个好的子矩阵。一行,一个整数,表示。中好的子矩阵的数量。对于所有测试点,保证。
2025-04-25 21:24:44
213
原创 【题解】【洛谷B4263】 [GESP202503 四级] 荒地开垦
小杨想要开垦这块荒地,但荒地中一些位置存在杂物,对于一块不存在杂物的荒地,该荒地可以开垦当且仅当其上下左右四个方向相邻的格子均不存在杂物。小杨可以选择至多一个位置,清除该位置的杂物,移除杂物后该位置变为荒地。小杨想知道在清除至多一个位置的杂物的情况下,最多能够开垦多少块荒地。2.方向(本题为上下左右四个方向,所以方向数组为fx[4][2],记得四个方向的坐标不要写错了)输出一个整数,代表在清除至多一个位置的杂物的情况下,最多能够开垦的荒地块数。,代表该位置为荒地;第一行包含两个正整数。,代表该位置为杂物。
2025-04-25 20:58:44
473
原创 【题解】【洛谷B4260】 【分支结构】[GESP202503 二级] 时间跨越
最后,注意多分支结构要注意格式规范,因为判断条件过多,一旦格式不规范,自己看晕了,就很容易漏条件或者写错,那么找错误就很费时间了。其次,一定要把题目看清楚,题目最后给出了普通闰年和世纪闰年的判断方式,再根据日常生活中的时间常识,就可以算出来了。首先,根据题目意思判断出本题不需要循环,只需要通过分支判断结构就可以写出来了。满足以上任意一条规则的年份就是闰年,否则是平年。输入包含五行,每行一个正整数,分别代表。,小杨想请你帮他计算出对应的。输出四个正整数,代表。对于全部数据,保证有。数据保证为合法时间。
2025-04-18 20:41:41
512
原创 【题解】【洛谷B4259】 【循环结构】[GESP202503 二级] 等差矩阵
其次,通过样例看出,每一行的数要加一,每一列的数开头也要加一,可以知道循环结构可以怎么写。列的矩阵,使得矩阵的每一行与每一列均是等差数列。小 A 发现,在矩阵的第。首先,因为是矩阵题,所以可以判断出该题可以用二维数组来进行存储。,得到的矩阵能满足要求。你能帮小 A 输出这个矩阵吗?个由空格分割的整数,表示小 A 需要构造的矩阵。最后,注意空格和换行。对于所有测试点,保证。
2025-04-18 20:18:22
189
原创 【算法讲解】基础搜索算法介绍和题目推荐(全网最详细!!!看完这一篇就够了)
搜索算法是利用计算机的高性能来有目的地穷举一个问题解空间的部分或所有的可能情况,从而求出问题的解的一种方法。搜索的本质上是“优雅的暴力枚举”,但是其算法特性决定了效率比直接的枚举答案要高,因为搜索可以跳过一些无效状态,降低问题规模。在算法竞赛中,如果选手无法找到一种高效求解的方法(如贪心递推动态规划数学公式推导等),可以尝试使用搜索解决一些规模较小的情况。。它可以生成一个序列的下一个排序顺序。我们来思考一个简单的问题:输出一个序列的全排列。例如输入1 2 31 2 31 3 22 1 3。
2025-04-13 14:46:25
1064
原创 【题解】【洛谷P11965】【动态规划】【状态压缩】[GESP202503 七级] 等价消除
我们可以用 26 位二进制表示每个字符的奇偶性,就可以存储当前每种奇偶性子串的个数,我们只需遍历一遍字符串,维护前 i 个字符组成的子串的奇偶性,然后将答案加上当前奇偶性是前 i 个字符组成的子串的奇偶性的子串个数就可以了。这是因为每次删除两个相同字符的操作,最终会将所有字符的出现次数减至零,而偶数次是完成这一过程的必要条件。对于一个字符串,如果能通过每次删去其中两个相同字符的方式,将这个字符串变为空串,那么称这个字符串是可以被等价消除的。的某个可以为空的前缀和某个可以为空的后缀之后,可以得到。
2025-04-11 20:58:58
109
原创 【题解】【洛谷P11964】【图论】[GESP202503 七级] 图上移动
小 A 会从图上选择一个结点作为起点,每一步移动到某个与当前小 A 所在结点相邻的结点。统计结果时,要想求第 k 步能走到多少节点,只需要知道在第 k 层有多少节点被访问过即可。由于满足条件的结点可能有很多,你只需要求出这些结点的数量。以样例为例(因为空间不足,本图只画到第 2 层,实际上样例分层图应有第 3 层)。这样建图的好处是,从第 0 层出发,每走一步都要向下跨越一层。因此,在第 k 层能被访问到的节点,都是通过第 k 步走到。,分别表示无向图的结点数与边数,最多移动的步数。条边的无向图,结点以。
2025-04-11 20:23:53
109
原创 【题解】【洛谷P7076】【二进制】【一本通2009】【20CSP-S提高组】动物园
动物园里饲养了很多动物,饲养员小 A 会根据饲养动物的情况,按照《饲养指南》购买不同种类的饲料,并将购买清单发给采购员小 B。如果某个二进制位对应一种饲料,但该位没有被现有的动物覆盖,则新增的动物编号不能覆盖该位(否则会导致出现新的饲料类型)。实际上根据购买到的饲料,动物园可能可以饲养更多的动物。的动物加入动物园饲养后,饲料清单没有变化,那么我们认为动物园当前还能饲养编号为。分别表示动物园中动物数量、《饲养指南》要求数、饲料种数与动物编号的二进制表示位数。之一的动物,购物清单都不会改变,因此答案为。
2025-04-07 16:28:25
803
原创 【题解】【洛谷P11961】【数论】[GESP202503 五级] 原根判断
在该时间点下,原根是 NOI 大纲 8 级知识点(NOI 级),而相对简单的无需原根知识的做法中,使用的费马小定理与欧拉定理也属于 NOI 大纲 7 级知识点(提高级),且均未写明于 GESP 大纲中。最难的就是第三个条件了,如果说你只想拿 40 分的话,也可以直接顺着打暴力,硬判,但是嘛,我们都是有追求的人,不能只关注者一点点的分,所以说我们要找规律。数学里面有一句经典的话,正着来弄难,那就反着来弄,话句话说,这道题我们是不是可以直接反着判,看看哪些情况可能得到 1,哪些情况可能得不到 1。
2025-04-05 11:46:48
288
原创 【题解】【洛谷P11960】【贪心】[GESP202503 五级] 平均分配
如果一个物品卖给第一个人获得的价值远远大于卖给第二个人获得的价值。我们还需要考虑一点,那就是每个人一定要获得 n 个物品,所以有时候即使卖给这个人不如卖给另一个人,我们也不得不选择这个人。我们的目标是将 2n 个物品分给这两个人,每个人获得 n 个物品。举个例子:现在一共有两个物品,但此时这两个物品都是买个第一个人划算,但根据题目要求,我们不能将这两个物品都卖给第一个人,因为两个人都只能获得一个物品。这道题我们可以假设首先每个物品都由小 B 来买,然后来看由小 C 来买对答案的贡献,最后取最大的贡献即可。
2025-04-05 11:01:36
156
原创 【题解】【洛谷P11963】【动态规划】[GESP202503 六级] 环线
小 A 会从某个车站出发,乘坐地铁环线到某个车站结束行程,这意味着小 A 至少会经过一个车站。请你安排小 A 的行程,选择出发车站与结束车站,使得获得的快乐值总和最大。(2)选的不在序列中间,观察可知,这种一定是序列的前缀和后缀拼在一起的。最后,在对这个序列,跑一遍最大子段和,取个。我们可以将他从某一条边分开,从而变成一个序列。一行,一个整数,表示小 A 能获得的最大快乐值。,分别表示经过每个车站时获得的快乐值。对于一个环,求他的最大字段和。所以,我们只要对这两种,都求出。发现,如果要选取一段,只有。
2025-03-31 16:37:01
1240
3
原创 【题解】【洛谷P11962】【树的遍历】 [GESP202503 六级] 树上漫步
具体来说,小 A 会从树上的某个结点出发,每⼀步可以移动到与当前结点相邻的结点,并且小 A 只会在偶数步(可以是零步)后结束漫步。由于树上两点间路径唯一,并且反复横跳也不会改变奇偶性,点不同的话,比如 u 到 v,我们也可以转化成 v 到 u。现在小 A 想知道,对于树上的每个结点,从这个结点出发开始漫步,经过偶数步能结束漫步的结点有多少个(可以经过重复的节点)。设从 1 号点开始能经过偶数条边到达的有 x 个点,那么从 1 号点开始经过奇数条边到达的自然就是 n−x 个点。),肯定超时,考虑优化。
2025-03-31 15:47:07
936
信息学奥赛NOIP2011年至2020年普及组、提高组历年真题第一轮、第二轮题目、答案、解析汇总
2024-08-04
2021年CCF NOI线上教师培训测试真题
2024-05-17
2020年信息学奥赛CSP-S第一轮比赛真题详细答案解析
2024-05-13
2020年信息学奥赛CSP-J第一轮比赛真题详细答案解析
2024-05-13
2021年信息学奥赛CSP-S第一轮比赛真题详细答案解析
2024-05-13
2021年信息学奥赛CSP-J第一轮比赛真题详细答案解析
2024-05-13
2021年信息学奥赛CSP-J第一轮比赛真题及答案
2024-05-09
2023年信息学奥赛CSP-J第一轮比赛真题
2024-05-09
2023年信息学奥赛CSP-J第一轮比赛真题的详细解析
2024-05-09
信息学奥赛2020年NOIP真题
2024-05-08
信息学奥赛2021年NOIP真题
2024-05-08
信息学奥赛2022年NOIP真题
2024-05-07
信息学奥赛2023年NOIP真题
2024-05-08
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅