蓝桥杯
文章平均质量分 55
大A和小Q
生活可以痛苦,甚至绝望,但不能烦。
展开
-
蓝桥杯-左son右兄弟(python-dfs)
一、题目题目 2606: 蓝桥杯2021年第十二届省赛真题-左孩子右兄弟时间限制: 1Sec 内存限制: 128MB 提交: 866 解决: 287题目描述对于一棵多叉树,我们可以通过 “左孩子右兄弟” 表示法,将其转化成一棵二叉树。如果我们认为每个结点的子结点是无序的,那么得到的二叉树可能不唯一。换句话说,每个结点可以选任意子结点作为左孩子,并按任意顺序连接右兄弟。给定一棵包含 N 个结点的多叉树,结点从 1 至 N 编号,其中 1 号结点是根,每个结点的父结点的编号比自己的编号小。请你计算原创 2022-04-07 23:21:29 · 862 阅读 · 0 评论 -
单词分析(python)
一、题目题目 2583: 蓝桥杯2020年第十一届省赛真题-单词分析时间限制: 1Sec 内存限制: 128MB 提交: 940 解决: 435题目描述小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。输入输入一行包含一个单词,单词只由小写英文字母组原创 2022-04-06 21:43:16 · 685 阅读 · 0 评论 -
蓝桥杯-等差数列(python,动态规划)
一、题目蓝桥杯2019年第十届省赛真题-等差数列时间限制: 1Sec 内存限制: 128MB 提交: 7338 解决: 1666题目描述数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有 几项?输入输入的第一行包含一个整数 N。 第二行包含N个整数A1,A2,···,AN。(注意A1 ∼AN并不一定是按等差数列中的顺序给出)(对于所有评测用例,2≤ N ≤100000,原创 2022-04-05 23:46:04 · 308 阅读 · 0 评论 -
蓝桥杯-糖果(python,dfs,状态压缩和动态规划)
一、题目题目 2302: 蓝桥杯2019年第十届省赛真题-糖果时间限制: 1Sec 内存限制: 128MB 提交: 1502 解决: 432题目描述糖果店的老板一共有 M 种口味的糖果出售。为了方便描述,我们将 M 种 口味编号 1 ∼ M。小明希望能品尝到所有口味的糖果。遗憾的是老板并不单独出售糖果,而 是 K 颗一包整包出售。幸好糖果包装上注明了其中 K 颗糖果的口味,所以小明可以在买之前就知 道每包内的糖果口味。给定 N 包糖果,请你计算小明最少买几包,就可以品尝到所有口味的糖 果。输原创 2022-04-05 21:41:42 · 2298 阅读 · 0 评论 -
蓝桥杯-修改数组(python)
一、题目题目 2301: 蓝桥杯2019年第十届省赛真题-修改数组时间限制: 1Sec 内存限制: 128MB 提交: 5051 解决: 1223题目描述给定一个长度为 N 的数组 A = [A1, A2, · · · AN ],数组中有可能有重复出现 的整数。现在小明要按以下方法将其修改为没有重复整数的数组。小明会依次修改 A2,A3,··· ,AN。当修改 Ai 时,小明会检查 Ai 是否在 A1 ∼ Ai−1 中出现过。如果出现过,则 小明会给 Ai 加上 1 ;如果新的 Ai 仍在之前出原创 2022-04-05 09:38:39 · 985 阅读 · 0 评论 -
蓝桥杯-作物杂交(python-dfs)
一、题目题目 2590: 蓝桥杯2020年第十一届省赛真题-作物杂交时间限制: 1Sec 内存限制: 128MB 提交: 149 解决: 39题目描述作物杂交是作物栽培中重要的一步。已知有N种作物(编号1至N),第i种作物从播种到成熟的时间为Ti。作物之间两两可以进行杂交,杂交时间取两种中时间较长的一方。如作物A种植时间为5天,作物B种植时间为7天,则AB杂交花费的时间为7天。作物杂交会产生固定的作物,新产生的作物仍然属于N种作物中的一种。初始时,拥有其中 M种作物的种子(数量无限,可以支持多次原创 2022-04-03 16:14:09 · 839 阅读 · 1 评论 -
蓝桥杯-分考场(python dfs)
一、题目题目 1874: 蓝桥杯2017年第八届真题-分考场时间限制: 1Sec 内存限制: 128MB 提交: 1262 解决: 320题目描述n个人参加某项特殊考试。为了公平,要求任何两个认识的人不能分在同一个考场。求是少需要分几个考场才能满足条件。输入第一行,一个整数n(1<n<100),表示参加考试的人数。第二行,一个整数m,表示接下来有m行数据以下m行每行的格式为:两个整数a,b,用空格分开 (1<=a,b<=n) 表示第a个人与第b个人认识。输出一原创 2022-04-02 21:31:01 · 1956 阅读 · 0 评论 -
蓝桥杯-青蛙跳杯子(bfs, python)
题目 1878: 蓝桥杯2017年第八届真题-青蛙跳杯子时间限制: 1Sec 内存限制: 128MB 提交: 602 解决: 265题目描述X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色。X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去。如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙。*WWWBBB其中,W字母表示白色青蛙,B表示黑色青蛙,*表示空杯子。X星的青蛙很有些癖好,它们只做3个动作之一:跳到相邻的空杯子里。隔着1只其它的青蛙(随便什么原创 2022-03-31 20:19:22 · 336 阅读 · 0 评论 -
蓝桥杯-发现环(python-简单Tarjan算法)
一、题目题目 1841: 蓝桥杯2017年第八届真题-发现环时间限制: 1Sec 内存限制: 128MB 提交: 1686 解决: 545题目描述小明的实验室有N台电脑,编号1~N。原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络。在树形网络上,任意两台电脑之间有唯一的路径相连。不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径,使得这些电脑上的数据传输出现了BUG。为了恢复正常传输。小明需要原创 2022-03-28 20:27:46 · 2085 阅读 · 1 评论 -
蓝桥杯-填字母游戏(python)
一、题目蓝桥杯2017年第八届真题-填字母游戏时间限制: 1Sec 内存限制: 128MB 提交: 461 解决: 74题目描述小明经常玩 LOL 游戏上瘾,一次他想挑战K大师,不料K大师说:“我们先来玩个空格填字母的游戏,要是你不能赢我,就再别玩LOL了”。K大师在纸上画了一行n个格子,要小明和他交替往其中填入字母。并且:轮到某人填的时候,只能在某个空格中填入L或O谁先让字母组成了“LOL”的字样,谁获胜。如果所有格子都填满了,仍无法组成LOL,则平局。小明试验了几次都输了,他很原创 2022-03-28 00:08:48 · 385 阅读 · 0 评论 -
蓝桥杯-兰顿蚂蚁(python)
题目 1429: 蓝桥杯2014年第五届真题-兰顿蚂蚁时间限制: 1Sec 内存限制: 128MB 提交: 6100 解决: 2797题目描述兰顿蚂蚁,是于1986年,由克里斯·兰顿提出来的,属于细胞自动机的一种。平面上的正方形格子被填上黑色或白色。在其中一格正方形内有一只“蚂蚁”。蚂蚁的头部朝向为:上下左右其中一方。蚂蚁的移动规则十分简单:若蚂蚁在黑格,右转90度,将该格改为白格,并向前移一格;若蚂蚁在白格,左转90度,将该格改为黑格,并向前移一格。规则虽然简单,蚂蚁的行为却十分复杂。刚原创 2022-03-27 19:27:39 · 372 阅读 · 0 评论 -
蓝桥杯-能量项链(python)
题目 1255: 蓝桥杯算法提高-能量项链时间限制: 1Sec 内存限制: 128MB 提交: 6223 解决: 2063题目描述在Mars星球上,每个Mars人都随身佩带着一串能量项链。在项链上有 N颗能量珠。能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数。并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标 记。因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量。如果前一颗 能量珠的头标记为原创 2022-03-27 13:32:33 · 314 阅读 · 0 评论 -
开灯游戏(python)
题目描述有9盏灯与9个开关,编号都是1~9。每个开关能控制若干盏灯,按下一次会改变其控制的灯的状态(亮的变成不亮,不亮变成亮的)。具体如下:第一个开关控制第二,第四盏灯;第二个开关控制第一,第三,第五盏灯;第三个开关控制第二,第六盏灯;第四个开关控制第一,第五,第七盏灯;第五个开关控制第二,第四,第六,第八盏灯;第六个开关控制第三,第五,第九盏灯;第七个开关控制第四,第八盏灯;第八个开关控制第五,第七,第九盏灯;第九个开关控制第六,第八盏灯。开始时所有灯都是熄灭的,开关是关闭着的。原创 2022-03-25 21:53:04 · 602 阅读 · 0 评论 -
旅行家的预算(python)
一、题目题目描述一个旅行家想驾驶汽车以最少的费用从一个城市 到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P 和沿途油站数N(N可以为零),油站i离出发点的距离Di、每升汽油价格Pi(i=1,2,……N)。计算结果四舍五入至小数点后两位。如果无法到达目的 地,则输出“No Solution”。输入第一行为4个实数D1、C、D2、P与一个非负整数N;接下来N行,每行两个实数Di、Pi。输出如果原创 2022-03-24 12:23:41 · 1467 阅读 · 0 评论 -
蓝桥杯-贪吃的大嘴(python动态规划)
一、题目题目描述有一只特别贪吃的大嘴,她很喜欢吃一种小蛋糕,而每一个小蛋糕有一个美味度,而大嘴是很傲娇的,一定要吃美味度和刚好为m的小蛋糕,而且大嘴还特别懒,她希望通过吃数量最少的小蛋糕达到这个目的.所以她希望你能设计一个程序帮她决定要吃哪些小蛋糕.输入先输入一行包含2个整数m、n,表示大嘴需要吃美味度和为m的小蛋糕,而小蛋糕一共有n种,下面输入n行,每行2个整数,第一个表示该种小蛋糕的美味度,第二个表示蛋糕店中该种小蛋糕的总数数据规模和约定m ≤ 20000,小蛋糕总数量≤50.输出输原创 2022-03-23 23:04:25 · 285 阅读 · 0 评论 -
和最大子序列(分治,python)
题目:题目 1508: 蓝桥杯算法提高VIP-和最大子序列时间限制: 1Sec 内存限制: 128MB 提交: 5614 解决: 1937题目描述对于一个给定的长度为N的整数序列A,它的“子序列”的定义是:A中非空的一段连续的元素(整数)。你要完成的任务是,在所有可能的子序列中,找到一个子序列,该子序列中所有元素的和是最大的(跟其他所有子序列相比)。程序要求你输出这个最大值。输入输入文件的第一行包含一个整数N,第二行包含N个整数,表示A。其中1 < = N < = 100原创 2022-03-17 22:49:55 · 216 阅读 · 0 评论 -
买不到的题目(python)
参考链接买不到的题目题解解题思路:①首先我们要解决边界的问题,从哪一个数开始往下进行判断。这里我想到的是a和b的最小公倍数。从最小公倍数开始,依次递减1往下判断其是否能被a,b组合。②如何判断一个数是否能被a,b组合若x能被a,b组合,则一定存在m和n使得ma+nb == x我们可以先用x除以a取整,结果记为k。再用x除以a取余,结果记为mod。如果mod = 0,则n可以由a,b进行组合。如果mod != 0 则判断 (ia+mod) 是否能整除b(0<=i<=k),如过存在i使原创 2022-03-17 21:16:55 · 376 阅读 · 0 评论 -
小朋友排队(归并排序, python)
思路: 题目要求可以转化为求每个小朋友前后的逆序数目,然后对每个小朋友的逆序数目使用高斯公式,最后累加得到结果。 求逆序数对可以采用树状数组,本例借鉴了小朋友排队题解-归并排序,更加简洁有效。在归并排序的merge阶段,下标的变化就是存在的逆序对数量,只需要每次累加下标变化即可。 其实最终的思想还是分治,只是过程刚好和归并排序相同。# 思路:题目要求小朋友的身高在逆序对中出现的次数,思路是:# 在归并排序中下标移动的数量就是变化数# 通过归并排序来计算逆序对数量(其实就是分治的思想)n原创 2022-03-17 17:11:38 · 1273 阅读 · 0 评论 -
蓝桥杯2^k进制数(python)
一、题目:题目描述设r是个2^k 进制数,并满足以下条件:(1)r至少是个2位的2^k 进制数。(2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。(3)将r转换为2进制数q后,则q的总位数不超过w。在这里,正整数k(1≤k≤9)和w(k〈w≤30000)是事先给定的。问:满足上述条件的不同的r共有多少个?我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q。将S从右起划分为若干个长度为k 的段,原创 2022-03-13 21:34:57 · 164 阅读 · 0 评论 -
蓝桥杯促销购物(python)
题目见:蓝桥杯促销购物思路:这是一个典型的背包问题,采用动态规划算法。因为dp数组的维数不确定,所以通过一维dp数组表示多维的dp数组,将多维的下标输入cvindex转换成一维数组下标。s = int(input())promotions = list()# n对c, k,最后pfor i in range(s): promotions.append([int(x) for x in input().split()])b = int(input())goal = list()#原创 2022-03-10 19:00:52 · 492 阅读 · 0 评论 -
格子刷油漆(python)
格子刷油漆题目参考链接:格子刷油漆思路可以看看参考链接,那位作者写得很详细。代码与注释:N = int(input())# 第0个不用,a代表从左侧边边出发的遍历方案数量a = [0 for i in range(N+1)]# 初始化a[1] = 2if N>=2: a[2] = 12for i in range(3, N+1): a[i] = 2*a[i-1]+4*a[i-2]+2**ires = 0# 从中间向右出发的方案数for i in ra原创 2022-03-06 22:45:31 · 481 阅读 · 0 评论 -
2n皇后问题(python)
采用深度优先+剪枝的算法。基本思路是先排序黑皇后,再排序白皇后。n = int(input())ls = [[int(x) for x in input().split()] for i in range(n)]# 思路先解决一个n皇后问题,再把剩下的再作为解决n皇后问题输入res = 0# 代表hasblack[j]第j列是否有black,1有hasblack = [0 for i in range(n)]haswhite = [0 for i in range(n)]# 递归的深度原创 2022-03-05 21:58:45 · 1003 阅读 · 2 评论 -
蓝桥杯算法提高VIP-3000米排名预测
目录一、题目描述二、代码与解析一、题目描述3000米长跑时,围观党们兴高采烈地预测着 最后的排名。因为他们来自不同的班,对所有运动员不一定都了解,于是他们分别对自己了解的一些运动员的实力作出了评估,即对部分运动员做了相对排名的预 测,并且告诉了可怜留守的班长。因为无聊,于是他们就组团去打Dota去了。比赛结束后他们向班长询问最后的排名,但班长不记得了,只记得他们中哪些人的 预测是正确的,哪些人的预测是错误的。他们想知道比赛的排名可能是什么。输入第一行两个整数n, m,n为运动员数量,m为围观原创 2022-03-01 22:12:37 · 178 阅读 · 0 评论 -
蓝桥杯-排队打水问题(python,优先队列)
蓝桥杯-排队打水问题目录蓝桥杯-排队打水问题一、题目描述二、思路和代码思路:代码:一、题目描述 有n个人排队到r个水龙头去打水,他们装满水桶的时间t1、t2…………tn为整数且各不相等,应如何安排他们的打水顺序才能使他们总共花费的时间最少?输入第一行n,r (n< =500,r< =75)第二行为n个人打水所用的时间Ti (Ti< =100);数据规模和约定其中80%的数据保证n< =10输出最少的花费时间样例输入3 21 2 3样例输出7二原创 2022-01-23 21:20:06 · 1379 阅读 · 0 评论 -
蓝桥杯-传染病控制(python,深度优先)
蓝桥杯-传染病控制(python)目录蓝桥杯-传染病控制(python)一、题目描述二、解题思路与代码一、题目描述 近来,一种新的传染病肆虐全球。蓬莱国也发现 了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的蔓延。不幸的是,由于人们尚未完全认识这种传染病,难以准确判别病毒 携带者,更没有研制出疫苗以保护易感人群。于是,蓬莱国的疾病控制中心决定采取切断传播途径的方法控制疾病传播。经过 WHO(世界卫生组织)以及全球各国科研部门的努力,这种新兴传染病的传播途径和控制原创 2022-01-21 00:16:37 · 843 阅读 · 1 评论 -
蓝桥杯-九宫重排(python)
蓝桥杯-九宫重排(python)目录蓝桥杯-九宫重排(python)题目描述思路和总结:题目描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面。我们把第一个图的局面记为:12345678.把第二个图的局面记为:123.46758显然是按从上到下,从左到右的顺序记录数字,空格记为句点。本题目的任务是已知九宫的初态和终态,求最少经过多少步的移动可以到达。如果无论多少步都无法到达,原创 2022-01-17 11:37:53 · 1096 阅读 · 2 评论 -
蓝桥杯-幸运数(python)
蓝桥杯-幸运数(python)一、题目时间限制: 1Sec 内存限制: 128MB题目描述:幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。首先从1开始写出自然数1,2,3,4,5,6,…1 就是第一个幸运数。我们从2这个数开始。把所有序号能被2整除的项删除,变为:1 _ 3 _ 5 _ 7 _ 9 …把它们缩紧,重新记序,为:1 3 5 7 9 … 。这时,3为第2个幸运数,然后把所有能被3整除的序号位置的数删去。注意,是序号位置,原创 2022-01-15 14:57:09 · 1589 阅读 · 3 评论 -
蓝桥杯-翻硬币(python递归)
题目:翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:oo*oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,最少要翻动多少次呢?我们约定:把翻动相邻的两个硬币叫做一步操作,那么要求:【输入形式】两行等长的字符串,分别表示初始状态和要达到的目标状态。每行的长度<100原创 2022-01-11 15:43:14 · 1610 阅读 · 0 评论 -
蓝桥杯-危险系数(python实现,TarJan算法)
一、题目:危险系数抗日战争时期,冀中平原的地道战曾发挥重要作用。地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。我们来定义一个危险系数DF(x,y):对于两个站点x和y (x != y), 如果能找到一个站点z,当z被敌人破坏后,x和y不连通,那么我们称z为关于x,y的关键点。相应的,对于任意一对站点x和y,危险系数DF(x,y)就表示为这两点之间的关键点个数。本题的任务是:已知网络结构,求两站点之间的危险系数。【输入形式】输入原创 2022-01-11 13:55:45 · 653 阅读 · 0 评论 -
直观地简单理解Tarjan算法(寻找有向图中的强连通图)
Tarjan算法按照百度百科的播报应该是读成【'ta:rdʒən】?看过了几篇网络上的解释虽然都讲得比较具体但刚开始都难以理解,所以打算写一个更直观的理解方式。 Tarjan算法是求有向图中的强连通分量的算法。原创 2022-01-10 14:21:02 · 1408 阅读 · 0 评论 -
蓝桥杯-剪格子(python实现)
蓝桥杯-剪格子(python实现)一、题目描述时间限制:1.0s 内存限制:256.0MB如下图所示,3 x 3 的格子中填写了一些整数。±----±-+|10* 1|52|±-***–+|20|30 1|*******–+| 1| 2| 3|±-±-±-+ 我们沿着图中的星号线剪开,得到两个部分,每个部分的数字和都是60。 本题的要求就是请你编程判定:对给定的m x n 的格子中的整数,是否可以分割为两个部分,使得这两个区域的数字和相等。如果存在原创 2022-01-09 22:53:34 · 597 阅读 · 0 评论