蓝桥杯
文章平均质量分 60
在人间负债^
是微风,是晚霞,是无可替代
展开
-
蓝桥杯 --- 双指针、BFS与图论(习题)
聪明的J发现,如果不在某个城市停下来修整,在连续行进过程中,他所花的路费与他已走过的距离有关,在走第x千米到第x+1千米这一千米中(x是整数),他花费的路费是x+10这么多。以下 N 行 N 列,包含一个由字符”#”和”.”构成的 N×N 字符矩阵,代表一张海域照片,”#”表示陆地,”.”表示海洋。其中, 充满岩石障碍的单元格用”#”表示,不含障碍的空单元格用”.”表示,你的起始位置用”S”表示,终点用”E”表示。D k,表示删除第 k 个插入的数后面的数(当 k 为 0 时,表示删除头结点)。原创 2023-04-07 08:14:24 · 385 阅读 · 0 评论 -
蓝桥杯 --- 数学与简单DP(习题)
走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。X 国王有一个地宫宝库,是 n×m 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这 k 件宝贝。当小明走到出口时,如果他手中的宝贝恰好是 k 件,则这些宝贝就可以送给小明。共一行,包含四个整数 n,s,a,b,含义如前面所述。第一行 3 个整数,n,m,k5,含义见题目描述。共一行,包含一个整数,表示满足条件的方案数。原创 2023-04-06 20:49:15 · 626 阅读 · 0 评论 -
蓝桥杯 --- 数学与简单DP
还有一种特殊情况,就是当第一只蚂蚁向左走的时候,如果第一只蚂蚁左边没有向右爬行的蚂蚁,由于爬行速度相同,所以不管第一只蚂蚁右边有多少向左爬行的,其右边的蚂蚁永远不可能被感染。同理,当第一只蚂蚁向右走的时候,如果第一只蚂蚁右边没有向左爬行的蚂蚁,其左边也永远不可能感染。第一只蚂蚁不管方向朝哪里,只要它右边的蚂蚁向左走就可能碰撞感染,同样,第一只蚂蚁左边的蚂蚁只要朝右边走也可能被感染,这样就很容易得到ans=right+left+1。第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。原创 2023-04-05 09:36:37 · 495 阅读 · 0 评论 -
蓝桥杯 --- 二分与前缀和(习题)
接下来 N 行,每行输入一组数据,每组数据包括三个整数 Xi,Yi,Wi,分别代表目标的 x 坐标,y 坐标和价值,数据用空格隔开。优化方式,先枚举 c 和 d,将结果存储下来,再枚举 a 和 b,查看是否能够找到符合条件的 c 和 d,时间复杂度直接减半。如果 H(k+1)>E,那么机器人就失去 H(k+1)−E 的能量值,否则它将得到 E−H(k+1) 的能量值。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必须和 x,y 轴平行。,H(N) 代表建筑物的高度。原创 2023-04-04 08:30:45 · 448 阅读 · 1 评论 -
蓝桥杯 --- 递归与递推(习题)
现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如 1 3 5 7 排在 1 3 6 8 前面)。接下来 N 行描述切换顺序,每行输出两个整数,代表被切换状态的把手的行号和列号,数字之间用空格隔开。把手可以表示为一个 4×4 的矩阵,您可以改变任何一个位置 [i,j] 上把手的状态。但是,这也会使得第 i 行和第 j 列上的所有把手的状态也随着改变。原创 2023-04-03 10:19:53 · 611 阅读 · 0 评论 -
POJ - 3122 Pie 【二分】
二分答案,相当于一个精确度二分,精确度的范围是 1e-7。原创 2022-12-21 19:19:20 · 177 阅读 · 0 评论 -
[NOIP2001 普及组] 数的计算【递推】
给出自然数nn请你求出,一共有多少个合法的数列。两个合法数列a,b不同当且仅当两数列长度不同或存在一个正整数i≤∣a∣,使得ai=bi。原创 2022-12-18 11:42:16 · 458 阅读 · 0 评论 -
P2280 [HNOI2003]激光炸弹 【二维前缀和】
一种新型的激光炸弹,可以摧毁一个边长为m的正方形内的所有目标。现在地图上有n个目标,用整数xi,yi表示目标在地图上的位置,每个目标都有一个价值vi.激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为m的边必须与x轴,y轴平行。若目标位于爆破正方形的边上,该目标不会被摧毁。现在你的任务是计算一颗炸弹最多能炸掉地图上总价值为多少的目标。原创 2022-12-18 10:58:22 · 133 阅读 · 0 评论 -
3490. 小平方(枚举)【第十二届蓝桥杯省赛第二场C++A/B组】
3490. 小平方小蓝发现,对于一个正整数 n 和一个小于 n 的正整数 v,将 v 平方后对 n 取余可能小于 n 的一半,也可能大于等于 n 的一半。请问,在 1 到 n−1 中,有多少个数平方后除以 n 的余数小于 n 的一半。例如,当 n=4 时,1,2,3 的平方除以 4 的余数都小于 4 的一半。又如,当 n=5 时,1,4 的平方除以 5 的余数都是 1,小于 5 的一半。而 2,3 的平方除以 5 的余数都是 4,大于等于 5 的一半。输入格式输入一行包含一个整数 n。输出格原创 2022-04-07 18:04:40 · 375 阅读 · 0 评论 -
3496. 特殊年份(模拟)【第十二届蓝桥杯省赛第二场C++B组】
3496. 特殊年份今年是 2021 年,2021 这个数字非常特殊,它的千位和十位相等,个位比百位大 1,我们称满足这样条件的年份为特殊年份。输入 5 个年份,请计算这里面有多少个特殊年份。输入格式输入 5 行,每行一个 4 位十进制数(数值范围为 1000 至 9999),表示一个年份。输出格式输出一个整数,表示输入的 5 个年份中有多少个特殊年份。输入样例:20192021192021209899输出样例:2样例解释2021 和 9899 是特殊年份,其它不是特殊年原创 2022-04-07 17:55:00 · 258 阅读 · 0 评论 -
3418. 杨辉三角形(组合数 + 二分)【第十二届蓝桥杯省赛第一场C++B/C组】
3418. 杨辉三角形下面的图形是著名的杨辉三角形:如果我们按从上到下、从左到右的顺序把所有数排成一列,可以得到如下数列:1, 1, 1, 1, 2, 1, 1, 3, 3, 1, 1, 4, 6, 4, 1, ...给定一个正整数 N,请你输出数列中第一次出现 N 是在第几个数?输入格式输入一个整数 N。输出格式输出一个整数代表答案。数据范围对于 20% 的评测用例,1≤N≤10;对于所有评测用例,1≤N≤109。输入样例:6输出样例:13#include<io原创 2022-04-07 11:45:19 · 358 阅读 · 0 评论 -
3417. 砝码称重(DP)【第十二届蓝桥杯省赛第一场C++A/B/研究生组】
3417. 砝码称重你有一架天平和 N 个砝码,这 N 个砝码重量依次是 W1,W2,⋅⋅⋅,WN。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数 N。第二行包含 N 个整数:W1,W2,W3,⋅⋅⋅,WN。输出格式输出一个整数代表答案。数据范围对于 50% 的评测用例,1≤N≤15。对于所有评测用例,1≤N≤100,N 个砝码总重不超过 105。输入样例:31 4 6输出样例:10样例解释能称出的 10 种重量原创 2022-04-06 16:02:31 · 314 阅读 · 0 评论 -
3416. 时间显示(模拟)【第十二届蓝桥杯省赛第一场C++B/C/研究生组】
3416. 时间显示小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。输入格式输入一行包含一个整数,表示时间。输出格式输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为 0原创 2022-04-06 11:07:31 · 196 阅读 · 0 评论 -
2875. 超级胶水(数学归纳)【第十一届蓝桥杯省赛第一场C++A组】
2875. 超级胶水小明有 n 颗石子,按顺序摆成一排。他准备用胶水将这些石子粘在一起。每颗石子有自己的重量,如果将两颗石子粘在一起,将合并成一颗新的石子,重量是这两颗石子的重量之和。为了保证石子粘贴牢固,粘贴两颗石子所需要的胶水与两颗石子的重量乘积成正比,本题不考虑物理单位,认为所需要的胶水在数值上等于两颗石子重量的乘积。每次合并,小明只能合并位置相邻的两颗石子,并将合并出的新石子放在原来的位置。现在,小明想用最少的胶水将所有石子粘在一起,请帮助小明计算最少需要多少胶水。输入格式输入的第一原创 2022-04-05 22:45:13 · 210 阅读 · 0 评论 -
2069. 网络分析(并查集 + 按址查询)【第十一届蓝桥杯省赛第一场C++A/B组】
2069. 网络分析小明正在做一个网络实验。他设置了 n 台电脑,称为节点,用于收发和存储数据。初始时,所有节点都是独立的,不存在任何连接。小明可以通过网线将两个节点连接起来,连接后两个节点就可以互相通信了。两个节点如果存在网线连接,称为相邻。小明有时会测试当时的网络,他会在某个节点发送一条信息,信息会发送到每个相邻的节点,之后这些节点又会转发到自己相邻的节点,直到所有直接或间接相邻的节点都收到了信息。所有发送和接收的节点都会将信息存储下来。一条信息只存储一次。给出小明连接和测试的过程,请原创 2022-04-05 22:30:54 · 104 阅读 · 0 评论 -
2068. 整数拼接(哈希表)【第十一届蓝桥杯省赛第一场C++A/B组】
2068. 整数拼接给定一个长度为 n 的数组 A1,A2,⋅⋅⋅,An。你可以从中选出两个数 Ai 和 Aj(i 不等于 j),然后将 Ai 和 Aj 一前一后拼成一个新的整数。例如 12 和 345 可以拼成 12345 或 34512。注意交换 Ai 和 Aj 的顺序总是被视为 2 种拼法,即便是 Ai=Aj 时。请你计算有多少种拼法满足拼出的整数是 K 的倍数。输入格式第一行包含 2 个整数 n 和 K。第二行包含 n 个整数 A1,A2,⋅⋅⋅,An。输出格式一个整数代表答案。原创 2022-04-05 21:30:13 · 174 阅读 · 0 评论 -
2067. 走方格(DP)【第十一届蓝桥杯省赛第一场C++A/B组】
在平面上有一些二维的点阵。这些点的编号就像二维数组的编号一样,从上到下依次为第 1 至第 n 行,从左到右依次为第 1 至第 m 列,每一个点可以用行号和列号来表示。现在有个人站在第 1 行第 1 列,要走到第 n 行第 m 列。只能向右或者向下走。注意,如果行号和列数都是偶数,不能走入这一格中。问有多少种方案。输入格式输入一行包含两个整数 n,m。输出格式输出一个整数,表示答案。数据范围1≤n,m≤30输入样例1:3 4输出样例1:2输入样例2:6 6输出样例2:0原创 2022-04-05 20:55:39 · 98 阅读 · 0 评论 -
2066. 解码(模拟)【第十一届蓝桥杯省赛第一场C++A/B组】
2066. 解码小明有一串很长的英文字母,可能包含大写和小写。在这串字母中,有很多连续的是重复的。小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母 + 出现次数的形式。例如,连续的 5 个 a,即 aaaaa,小明可以简写成 a5(也可能简写成 a4a、aa3a 等)。对于这个例子:HHHellllloo,小明可以简写成 H3el5o2。为了方便表达,小明不会将连续的超过 9 个相同的字符写成简写的形式。现在给出简写后的字符串,请帮助小明还原成原来的串。输入格式输入一行包原创 2022-04-05 16:57:59 · 251 阅读 · 0 评论 -
2065. 整除序列(模拟)【第十一届蓝桥杯省赛第一场C++B组】
2065. 整除序列有一个序列,序列的第一个数是 n,后面的每个数是前一个数整除 2,请输出这个序列中值为正数的项。输入格式输入一行包含一个整数 n。输出格式输出一行,包含多个整数,相邻的整数之间用一个空格分隔,表示答案。数据范围1≤n≤1018输入样例:20输出样例:20 10 5 2 1#include<iostream>#include<algorithm>#include<cstring>#include<cmath&g原创 2022-04-05 16:52:04 · 95 阅读 · 0 评论 -
蓝桥杯 --- 贪心
蓝桥杯 --- 贪心原创 2022-04-04 16:31:42 · 333 阅读 · 0 评论 -
蓝桥杯 --- 双指针、BFS与图论
蓝桥杯 --- 双指针、BFS与图论双指针BFS图论双指针BFS图论原创 2022-03-29 11:07:29 · 225 阅读 · 0 评论 -
蓝桥杯 --- 枚举、模拟与排序
蓝桥杯 --- 枚举、模拟与排序枚举1210. 连号区间数(枚举 + 优化)1236. 递增三元组()枚举1210. 连号区间数(枚举 + 优化)小明这些天一直在思考这样一个奇怪而有趣的问题:在 1∼N 的某个排列中有多少个连号区间呢?这里所说的连号区间的定义是:如果区间 [L,R] 里的所有元素(即此排列的第 L 个到第 R 个元素)递增排序后能得到一个长度为 R−L+1 的“连续”数列,则称这个区间连号区间。当 N 很小的时候,小明可以很快地算出答案,但是当 N 变大的时候,问题就不是那么原创 2022-03-23 10:15:32 · 207 阅读 · 0 评论 -
蓝桥杯 --- 二分与前缀和
需要注意的地方是,需要对左端点二分一次,同时需要对右端点二分一次,左端点的二分没有什么需要注意的,右端点二分时,需要注意,右端点是一定在左端点到n-1之间内,所以对左端点二分完,l 就不需要要重新置为0了。二维前缀和的模板题目,只需要将如何计算二维前缀和和公式和利用二维前缀和计算面积的公式记住即可。输入一个 n 行 m 列的整数矩阵,再输入 q 个询问,每个询问包含四个整数 x。接下来 m 行,每行包含两个整数 l 和 r,表示一个询问的区间范围。接下来 q 行,每行包含一个整数 k,表示一个询问元素。原创 2022-03-17 17:36:54 · 243 阅读 · 0 评论 -
蓝桥杯 --- 递归与递推
一共输出 n 行数据,每行有一个小于等于 6 的整数,它表示对于输入数据中对应的游戏状态最少需要几步才能使所有灯变亮。同时题目要求满足字典序输出,对于这个题目来说,我们在枚举每个数的时候,只要从小到大开始枚举,那么得到的答案就是字典序。对于 n 个数字,1 - n,我们可以用一个数组来标记,1 - n 个数字的选择情况,生成一棵递归搜索树。被称为斐波纳契数列。从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。原创 2022-03-09 15:34:35 · 271 阅读 · 0 评论 -
蓝桥杯2017年第八届真题-k倍区间
蓝桥杯2017年第八届真题-k倍区间题目链接给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i <= j)之和是K的倍数,我们就称这个区间[i, j]是K倍区间。你能求出数列中总共有多少个K倍区间吗?输入第一行包含两个整数N和K。(1 <= N, K <= 100000)以下N行每行包含一个整数Ai。(1 <= Ai <= 100000)输出输出一个整数,代表K倍区间的数目。样例输入5 2123原创 2022-02-24 17:37:59 · 113 阅读 · 0 评论 -
蓝桥杯2017年第八届真题-分巧克力(二分)
蓝桥杯2017年第八届真题-分巧克力题目链接儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数大小相同例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么?输入第一行包含两个整数N和K。原创 2022-02-23 17:58:23 · 191 阅读 · 1 评论 -
信息学奥赛一本通T1436-数列分段II (二分)
信息学奥赛一本通T1436-数列分段II题目链接对于给定的一个长度为N的正整数数列A[i],现要将其分成M(M≤N)段,并要求每段连续,且每段和的最大值最小。关于最大值最小:例如一数列4 2 4 5 1要分成3段将其如下分段:[4 2][4 5][1]第一段和为6,第2段和为9,第3段和为1,和最大值为9。将其如下分段:[4][2 4][5 1]第一段和为4,第2段和为6,第3段和为6,和最大值为6。并且无论如何分段,最大值不会小于6。所以可以得到要将数列4 2 4 5 1要分成3段原创 2022-02-23 16:56:56 · 757 阅读 · 0 评论 -
信息学奥赛一本通T1433-愤怒的牛 (二分 + 贪心)
信息学奥赛一本通T1433-愤怒的牛题目链接农夫 John 建造了一座很长的畜栏,它包括N(2≤N≤100,000)个隔间,这些小隔间依次编号为x1,…,xN(0≤xi≤1,000,000,000). 但是,John的C(2≤C≤N)头牛们并不喜欢这种布局,而且几头牛放在一个隔间里,他们就要发生争斗。为了不让牛互相伤害。John决定自己给牛分配隔间,使任意两头牛之间的最小距离尽可能的大,那么,这个最大的最小距离是什么呢输入第一行:空格分隔的两个整数N和C;第二行—第N+1行:i+1行指出了xi的位原创 2022-02-23 16:31:55 · 1626 阅读 · 0 评论 -
蓝桥杯2014年第五届真题-波动数列
蓝桥杯2014年第五届真题-波动数列题目链接观察这个数列:1 3 0 2 -1 1 -2 …这个数列中后一项总是比前一项增加2或者减少3。栋栋对这种数列很好奇,他想知道长度为 n 和为 s 而且后一项总是比前一项增加a或者减少b的整数数列可能有多少种呢?样例说明这两个数列分别是2 4 1 3和7 4 1 -2。输入输入的第一行包含四个整数 n s a b,含义如前面说述。数据规模和约定对于100%的数据,1< =n< =1000原创 2022-02-22 17:57:07 · 187 阅读 · 0 评论 -
信息学奥赛一本通T1310-车厢重组
信息学奥赛一本通T1310-车厢重组题目链接在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初始的车厢顺序,计算最少用多少步就能将车厢排序。输入有两行数据,第一行是车厢总数N(不大于10000),第二行是N个不同的数表示初始原创 2022-02-22 17:08:45 · 208 阅读 · 0 评论 -
蓝桥杯历届试题-翻硬币
蓝桥杯历届试题-翻硬币题目链接小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:oo*oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作。输入两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<原创 2022-02-22 16:58:36 · 194 阅读 · 0 评论 -
蓝桥杯2013年第四届真题-带分数
蓝桥杯2013年第四届真题-带分数题目链接100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入从标准输入读入一个正整数N (N< 1000*1000)输出程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。注意:不要求输出每个表示,只统计有多原创 2022-02-22 09:44:39 · 142 阅读 · 0 评论