自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CSP-J复赛“防爆零”手册

《CSP-J复赛"防爆零"手册(2025版)》提供了参赛选手避免零分的实用指南。手册指出爆零的主要原因是文件操作错误,如freopen参数错误、文件名不一致、调试输出未删除等。重点包括:10个常见爆零陷阱(如数组越界、大数组导致MLE)、15分钟考场保分流程(建立规范目录结构、代码模板)、最后10分钟检查清单(确认文件名匹配、删除调试信息等)以及常见问题解答。手册强调规范操作是基础,但算法正确性才是高分关键,并附有A4速记卡便于打印携带。

2025-10-31 08:52:03 375

原创 c++竞赛常用函数

下面这份清单整理了,每个都给出「所在头文件」「一句话作用」「原型」「常用写法 / 注意点」四个维度,赛前 10 min 扫一遍即可快速回忆。

2025-10-26 15:56:59 1250

原创 鸡蛋的硬度(扔鸡蛋问题)

文章摘要:XX公司通过高楼扔鸡蛋比赛测量鸡蛋硬度。给定n层楼和k枚鸡蛋,要求在最坏情况下用最少投掷次数确定鸡蛋硬度临界点x。文章系统介绍了6种解法:1)暴力递归(指数级);2)记忆化搜索(DP);3)二维递推DP;4)二分优化DP;5)数学反转+一维DP(最优);6)组合数二分。其中方法5通过反向计算覆盖层数,仅需O(k√n)时间,是实践最优解;方法6利用组合数理论可达O(klogn)极限复杂度。推荐学习路径:1→2→3→5,竞赛首选方法5。

2025-10-12 16:38:10 480

原创 第N个丑数

整除规则:只能被 2、3、5 这三个质数整除(不能被其他质数如 7、11、13 等整除);序列规则:第一个丑数固定是 1,之后按从小到大排列(如 1,2,3,4,5,6,8...)。4 是丑数:4 = 2×2(只含 2,没有其他质数);6 是丑数:6 = 2×3(只含 2 和 3);7 不是丑数:只能被 7 整除(7 是其他质数);14 不是丑数:14 = 2×7(含了 7 这个额外质数)。我们的目标是:输入一个整数 n(1≤n≤10000),找到这个序列里的第 n 个数。

2025-08-30 16:42:36 874

原创 最短路长度

输入一个边权为1的无向图,输出从1到其他所有点的最短路长度。

2025-08-02 09:54:27 469

原创 查找文献

假设洛谷博客里面一共有 n(n≤105)n(n≤105) 篇文章(编号为 1 到 nn)以及 m(m≤106)m(m≤106) 条参考文献引用关系。共 m+1m+1 行,第 1 行为 2 个数,nn 和 mm,分别表示一共有 n(n≤105)n(n≤105) 篇文章(编号为 1 到 nn)以及m(m≤106)m(m≤106) 条参考文献引用关系。通过这个实现,我们完美解决了问题要求:从文章 1 开始,不重复不遗漏地访问所有可达文章,并按编号升序选择下一篇文章,分别输出 DFS 和 BFS 的遍历结果。

2025-08-02 08:58:25 937

原创 [NOIP2003-B-3] 栈

栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即 pop(从栈顶弹出一个元素)和 push(将一个元素进栈)。栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。宁宁考虑的是这样一个问题:一个操作数序列,1,2,…,n(图示为 1 到 3 的情况),栈 A 的深度大于 n。现在可以进行两种操作,

2025-07-31 09:24:20 931

原创 Set的用法(c++)

若想让集合按照特定的规则对元素进行排序,可以自定义比较函数。// 降序排列的集合也可以使用函数对象或者 lambda 表达式来自定义比较规则。std::set是 C++ 中用于存储唯一元素的容器,它会自动对元素进行排序。当你需要高效地存储不重复元素,并且希望元素有序时,std::set是一个不错的选择。不过要注意,std::set不支持直接修改元素的值,因为元素的值同时也是键,修改键会破坏集合的有序性。

2025-07-31 09:16:58 1058

原创 [NOIP1999 提高组] 导弹拦截

通过贪心策略和二分查找,我们高效地解决了这个问题。

2025-07-30 20:21:19 1123

原创 [NOIP2002 提高组] 均分纸牌

差值数组:将问题转化为消除各堆与平均值的差异。前缀和数组:将全局的移动需求转化为局部的累积不平衡。贪心策略:每次移动消除一个累积的不平衡,非零前缀和的数量即为最少移动次数。通过这种方法,我们无需模拟具体的移动过程,而是通过数学分析直接得出最优解,体现了算法设计中的抽象思维和问题转化能力。

2025-07-30 20:06:30 1239

原创 用算法查找素数个数(欧拉筛)

话不多说,直接开干。

2025-07-28 20:01:06 261

原创 [NOIP1997 普及组] 棋盘问题

正方形的个数有 8 个:即边长为 1 的正方形有 6 个;边长为 2 的正方形有 2 个。看到这里,相信大家已经有思路了,可能会觉得,直接算不接好了吗?但是你想想,长方形怎么求?所以,我的思路就是,算出来正方形的和总共的,长方形就等于总共的减正方形。设有一个 N×M 方格的棋盘 (1≤N≤100,1≤M≤100)求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。一行两个整数,表示正方形的个数与长方形的个数。NOIP1997 普及组第一题。一行两个整数 N,M。

2025-02-01 15:38:11 631

原创 河边打水最短距离问题

在河边有N户人家,他们每天都需要到河边去打水,后来政府拔款给大家修建一个水库。每户人家到水库的最短距离为沿河方向的距离差,问如何选择水库的位置,使所有人到水库的距离和最短?接下来一行有N个数字d,表示每户人家在河流方向上的坐标。第一行一个数字N,表示有N户人。输出最短的距离和,一行一个结果。

2025-01-19 16:30:02 315

原创 搜索模拟版!!!(自创)

对每个数据集合,分别输出一行,显示你从初始位置出发能到达的瓷砖数(记数时包括初始位置的瓷砖)。每个数据集合的第一行是两个整数 W 和 H,分别表示 x 方向和 y 方向瓷砖的数量。在接下来的 H 行中,每行包括 W 个字符。你站在其中一块黑色的瓷砖上,只能向相邻(上下左右四个方向)的黑色瓷砖移动。有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。大家好,我最近发现一种模拟搜索的办法,向大家分享一下。请写一个程序,计算你总共能够到达多少块黑色的瓷砖。当在一行中读入的是两个零时,表示输入结束。

2024-12-26 19:42:30 400

原创 CSP-J 2024 题目+解析

题目中 3 个函数,其中 isPrime(x)为判断质数的函数,countPrimes(x)为判断 1~x 中有多少个。A 的顺序为:1 进 2 进 3 进 4 进 5 进 6 进,6 出 5 出 4 出 3 出 2 出 1 出。B 的顺序为:1 进,1 出 2 进 3 进 4 进 5 进 6 进,6 出 5 出 4 出 2 出 2 出。C 的顺序为:1 进 2 进,2 出,3 进 4 进,4 出,5 进 6 进,6 出 5 出 3 出 1 出。2)(汉诺塔问题)给定三根柱子,分别标记为 A、B 和 C。

2024-09-24 20:10:04 3954

原创 NOIP2015-T-1 神奇的幻方

输出包含 N 行,每行 N 个整数,即按上述方法构造出的 N×N 的幻方。相邻两个整数之间用单个空格隔开。幻方是一种很神奇的 N×N 矩阵:它由数字 1,2,3,…之后,按如下方式从小到大依次填写每个数 K(K=2,3,…现给定 N ,请按上述方法构造 N×N 的幻方。对于 100% 的数据, 1≤N≤39 且为。每行、每列及两条对角线上的数字之和都相同。输入只有一行,包含一个整数,即幻方的大小。,如果 (K - 1) 的。若 (K - 1) 既。

2024-08-19 14:21:38 469 2

原创 第n位Fibonacci数列的余数

在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。先来回顾一下斐波那契数列的定义:fb[0]=fb[1]=1 fb[n]=fb[n-1]+fb[n-2];Fibonacci数列的递推公式为:Fn​=Fn−1​+Fn−2​,其中F1​=F2​=1。当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。输入包含一个整数n。

2024-08-05 11:15:56 237

原创 [NOIP2005-B-1] 陶陶摘苹果

第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。

2024-07-11 16:00:57 298

原创 对称二叉树

如果二叉树的左右子树的结构是对称的,即两棵子树皆为空,或者皆不空,则称该二叉树是对称的。编程判断给定的二叉树是否对称.,二叉树T1=ABCDE,T2=ABCD#E,如果二叉树是对称的,输出“Yes”,反之输出“No”。如果二叉树是对称的,输出“Yes”,反之输出“No”。例:如下图中的二叉树T1是对称的,T2是不对称的。二叉树用顺序结构给出,若读到#则为空。

2024-06-16 08:03:22 386

原创 0-1 背包问题(动态规划 查询背包元素)

给定n种物品和一个背包,物品i的重量是Wi​,其价值为Vi​,问如何选择装入背包的物品,使得装入背包的物品的总价值最大?在选择装入背包的物品时,对每种物品i只能有两种选择,装入或者不装入,不能装入多次,也不能部分装入。第一行输出装入背包的物品。(用0和1表示,中间无空格)本题是典型的背包问题,唯一的难点就是如何查询背包元素。第二行输入物品的重量序列w。第三行输入物品的价值序列v。第一行输入物品的个数n。第四行输入背包容量c。第二行输出最大价值。

2024-06-15 20:36:22 351

原创 NOIP2006-B-2 开心的金明

更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。他希望在不超过N元(可以等于N元)的前提下,使每件物品的价格与重要度的乘积的总和最大。设第j件物品的价格为v[j],重要度为w[j],共选中了k件物品,编号依次为j1​,j2​,……输出只有一个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值(

2024-06-12 21:15:03 269

原创 日期排序问题

多组输入,输入为空时终止,每行为一个日期数据,格式为“MM/DD/YYYY”有一些日期,日期格式为“MM/DD/YYYY”。编程将其按日期大小排列。输出排序好的日期,每行一个日期。

2024-06-09 15:26:45 337

原创 捡贝壳问题

于是她决定要在时间t内要拣出价值为v的贝壳.第一行有两个整数 T(1

2024-06-09 15:24:36 374

原创 计数问题(普及)

例如,在1到11中,即在1、2、3、4、5、6、7、8、9、10、11中,数字1出现了4次。试计算在区间[1,n]的所有整数中,数字x(0<=x<=9)共出现了多少次?共1行,包含2个正整数n、x,之间用一个空格隔开。共一行,包含一个整数,表示x出现的次数。

2024-06-05 18:34:57 625 1

原创 判断能否被3,5,7整除

2、只能被其中两个数整除(输出两个数,小的在前,大的在后。例如:3 5或者 3 7或者5 7,中间用空格分隔);1、能同时被3,5,7整除(直接输出3 5 7,每个数中间一个空格);4、不能被任何数整除,输出小写字符‘n’,不包括单引号。输出一行,按照描述要求给出整数被3,5,7整除的情况。3、只能被其中一个数整除(输出这个除数);输入一行,包括一个整数。

2024-06-02 13:53:50 1061

原创 约瑟夫问题

有M个人,其编号分别为1-M。这M个人按顺序排成一个圈。现在给定一个数N,从第一个人开始依次报数,数到N的人出列,然后又从下一个人开始又从1开始依次报数,数到N的人又出列...如此循环,直到最后一个人出列为止。输入只有一行,包括2个整数M(8

2024-06-01 17:54:18 419

原创 孪生素数问题

两个相差为2的素数称为孪生素数,如5和7,17和19等,请找出所有两个数均不大于n的孪生素数。输出所有小于等于n的孪生素数。每对素数输出一行,中间用单个空格隔开。若没有找到任何素数对,请输出empty。

2024-05-30 18:28:04 310

原创 排队打饭问题

一天中午,有 N 个学生来到食堂买饭,他们需要排成了一个一字队伍并按顺序打饭,现在已经知道了每个人买饭的时间, 现在食堂的管理员希望知道他们按照怎样的顺序买饭能够使得所有人等待时间的总和最小。(每个人等待的时间 = 排在他前面的人的打饭时间和 + 自己打饭的时间)第一行一个整数 N 表示人数,第二行 N 个整数表示每个人买饭所需要的时间,所有整数均不超过 100。输出一行,包括一个整数,表示所有人等待时间总和的最小值。

2024-05-30 07:34:06 891

原创 完全二叉树查找

每组输入一个n(1

2024-05-26 12:22:42 1028

原创 打扫操场(普及)

比如有两个男生,第一个男生负责第1、2 两行、第二个男生负责第4 行,如图(2)的蓝色。打扫的区域可能重复,比如,又有两个女生,第一个女生负责打扫第3、4 两列,第二个女生负责打扫第4、5 两列,如图(3)的红色。表示相应某个女生负责打扫从第x 列到第y 列(共y-x+1 列),保证1≤x≤y≤M。表示相应某个男生负责打扫从第x 行到第y行(共y-x+1 行),保证1≤x≤y≤N。第一行4 个正整数:N,M,B,G,N 表示方阵行数,M 表示方阵列数,B 表示男生数,G 表示女生数。

2024-05-23 19:41:49 587

原创 将中缀表达式转换为后缀表达式(c++)

在日常应用中,算术表达式中运算符总是出现在两个操作数之间,例如5(7-23)+8/2,这种形式称为中缀表达式。乘除是高优先级,加减是低优先级,优先级相同时他们都是左结合的,也就是从左计算到右。输入为一行字符串,包含一个中缀表达,运算符合操作数之间无空格。输出为一行字符串,为输入的后缀表达式,操作数和运算符之间用空格分隔。对应后缀表达式为:1 2 3 - 4 * + 4 2 / +现在请你编写一个程序,将输入的中缀表达式转换为后缀表达式。中缀表达式为:1+(2-3)*4+4/2。

2024-05-23 19:37:31 613

原创 找树根和孩子

给定一棵树,输出树的根root,孩子最多的结点max以及他的孩子。以下m行:每行两个结点x和y,表示y是x的孩子。第一行:n(结点个数≤100),m。

2024-05-19 20:07:28 333

原创 求后缀表达式的值

从键盘读入一个后缀表达式(字符串),只含有0-9组成的运算数及加(+)、减(-)、乘(*)、除(/)四种运算符。每个运算数之间用一个空格隔开,保证输入的表达式是合法的,以@作为结束标志。输入一个字符串,即后缀表达式,操作数之间以及运算符之间用空格分隔。输出为一个整数,即表达式计算后的值。

2024-05-19 20:01:24 621

原创 姓名排序(简单)

第一行输入一个整数N,第二行到第N +1行,每行输入1个姓名。输入N个人的姓名,请把他们按姓名的字典序排序输出。输出排序后的N个姓名,每个姓名占一行。

2024-05-16 07:22:51 613

原创 计算三角形面积

每行输出对应三角形的面积,如果三边长度无法构成三角形,输出No Answer。注意:对于不合理的边长输入要输出数据错误的提示信息。编写程序,输入三角型的三条边长,求其面积。第一行为整数n,n

2024-05-15 12:41:17 318

原创 计算三角形面积

每行输出对应三角形的面积,如果三边长度无法构成三角形,输出No Answer。注意:对于不合理的边长输入要输出数据错误的提示信息。编写程序,输入三角型的三条边长,求其面积。第一行为整数n,n<100,代表数据组数。其后n行,每行3个整数,以空格分隔。

2024-05-13 21:35:52 862

原创 独木舟上的旅行

一条独木舟最多只能乘坐两个人,且乘客的总重量不能超过独木舟的最大承载量。我们要尽量减少这次活动中的花销,所以要找出可以安置所有旅客的最少的独木舟条数。现在请写一个程序,读入独木舟的最大承载量、旅客数目和每位旅客的重量。根据给出的规则,计算要安置所有旅客必须的最少的独木舟条数,并输出结果。第一行包括两个整数w,n,80

2024-05-11 19:09:52 315

原创 NOIP2002 级数求和

已知:Sn​=1+21​+31​+…显然对于任意一个整数K,当n足够大的时候,Sn​大于K。现给出一个整数K(1≤K≤15),要求计算出一个最小的n,使得Sn​>K。一个整数n,使得Sn​>K。一个整数K,1≤K≤15。

2024-05-11 19:01:45 303

原创 大整数加法(高精度)

一行,即相加后的结果。结果里不能有多余的前导0,即如果结果是342,那么就不能输出为0342。有两行,每行是一个不超过200位的非负整数,求两个不超过200位的非负整数的和。

2024-05-11 12:50:11 298

原创 计数问题(普及)

例如,在1到11中,即在1、2、3、4、5、6、7、8、9、10、11中,数字1出现了4次。试计算在区间[1,n]的所有整数中,数字x(0

2024-05-08 20:57:38 336

第1章 计算机与网络基础知识

计算机与网络基础知识

2025-09-12

第2章 算法知识、栈、队列

算法知识、栈、队列

2025-09-12

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

TA关注的人

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