自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 走方格—动态规划—蓝桥杯国赛python题解

理解上面的要求,我们可以使用动态规划解决这个问题,dp[i] [j]表示从(0,0)到(i, j)的最短时间,将这个问题分解为子问题求解。2.向右走的时候,如果从左向右递减,即g[ i ] [j - 2] > g[ i ] [j - 1] > g[i] [j] ,那么从(i,j-2)到(i,j)只要一秒(这个递减序列没有长度限制)。初始化一个n*n dp,对第一列赋值,其值为它本身的行号,因为对一列来说,从(0,0)到(i, 0)的最短时间只能是 i。

2024-05-19 20:47:31 446 1

原创 货币系统—背包问题—python题解

​ 对于f[x+1]可以看成 增加了 x 和 1的情况 1的组成情况为f[1],即f[x+1] = f[x+1]+f[1]​ 所以增加一种值的硬币,f[x] - f[n] 都要变化,变化情况为。​ 对于加入的价值为x的硬币,f[0]…现在,要你用这 V 种货币凑出 N 元钱,请问共有多少种不同的凑法。接下来的若干行,将一共输入 V个整数,每个整数表示一种货币的面值。​ 但是f[x] 增加一种变化,即x自身就是一种情况.给定 V种货币(单位:元),每种货币使用的次数不限。

2024-04-07 12:57:10 609 1

原创 母亲的牛奶—DFS—蓝桥杯

有三个容量分别为 A,B,C 升的挤奶桶。最开始桶 A 和桶 B 都是空的,桶 C 里装满了牛奶。请你编写一个程序判断,当 A 桶是空的时候,C 桶中可能包含多少升牛奶,找出所有的可能情况。共一行,包含若干个整数,表示 C 桶中牛奶存量的所有可能情况,请将这些数字按升序排列。约翰会将牛奶从一个桶倒到另一个桶中,直到被倒入牛奶的桶满了或者倒出牛奶的桶空了为止。这一过程中间不能有任何停顿,并且不会有任何牛奶的浪费。共一行,包含三个整数 A,B,C。

2024-04-06 16:47:30 284 1

原创 流星雨(Meteor Shower)—BFS—python题解

陨石地图用一个二维数组记录,内容为砸下时间,以时间早为标准;如果将牧场放入一个直角坐标系中,贝茜现在的位置是原点,并且,贝茜不能踏上一块被流星砸过的土地。请你计算一下,贝茜最少需要多少时间才能到达一个安全的格子。个)格子中的任意一个,当然目标格子要没有被烧焦才行。个相邻的格子都化为焦土,当然贝茜也无法再在这些格子上行走。首先,是一道明显的bfs题,要求最短时间,所以用队列记录;开始行动,她只能在第一象限中,平行于坐标轴行动,每。流星的力量会将它所在的格子,以及周围。被流星撞击或烧焦,那么贝茜只能在。

2024-03-31 11:30:39 2001 1

原创 考前临时抱佛脚—DFS—python题解

回溯的核心是他一次可以复习两道题,就是把所有的数左右排列,就是左右脑的复习时间,如2 4 3,当一边为5 一边为4,差值最小,耗的时间最小,l , r 就是用于模拟这种情况。但由于要复习所有题,所以。然后就是l, r不能比res大,剪枝,然后就是基本回溯。对每个输入的数据搜索,返回最小值。

2024-03-30 11:05:21 427 1

原创 P1037 [NOIP2002 普及组] 产生数 python 题解

本题就是基本的dfs,对每一个数遍历深搜,得到他能变化的所有情况,最后相乘就是结果,网上都是c的解法,需要用到高精度,但是python可以处理大数,不需要。遍历3: 1->3 不匹配,下一个 ,3->4, x[i]==3,且vis[4]没有使用过,加一,然后退出,加上自身就是一种就是2次。​ 然后继续,4没有遍历过,且x[i]==3 所以3变成4,遍历完,退出。在遍历2: 遍历x ,y. 没有x[i]==2,退出。​ 变换了2次,加上自身就是一种就是3次。代表1可以变成y[i],就是3。

2024-03-27 12:11:20 928

原创 最长上升子序列—动态规划

我们知道,1,2,3 为一个上升子序列,但是 3 后面的 4 和这个上升子序列拼接后可以组成一个更长的上升子序列。如果一个上升子序列的最大值小于一个在它后面的数,那么这个数和这个子序列可以拼成一个更长的上升子序列。),表示以第 i* 个数为结尾的最长上升子序列的长度。例如一组数据:1,2,4,1,3,4。所以,我们可以设计 f*(

2024-03-24 15:17:09 156 2

原创 蓝桥杯—蓝肽子序列—动态规划

dp[i] [j]表示L1,L2 前 i ,j 个字段有多少个公共子序列,对于一个Xi 和 Yj(L1,L2的前i, j 个字段形成序列.否则,dp[i] [j]=max(dp[i-1] [j] , dp[i] [j-1]) ,考虑前后情况的最大值。如果xi=yj (第i,j字段),则dp[i] [j]=dp[i-1] [j-1]+1(前面的公共字段加一).最后输出dp[n] [m]。

2024-03-24 11:23:01 310 1

原创 飞机降落python题解

最重要的是对时间的考虑,下一架飞机能降落的时候最大时间是t+l,所以时间大于t+l不能进入,然后是选的飞机降落后的时间,上一次time可能大于这次的t,可能小于,所以要进行判断并加上间隔值,最后加上降落时间,进入下一次搜索.vis用于记录是否选过,t,d,l分别代表到达,盘旋,降落时间。该题明显用dfs搜索所有可能判断有没有通过最方便.然后是对飞机进行搜索:以0,0开始。

2024-03-20 21:49:19 362

原创 蓝桥杯2023省赛:有奖问答python题解

该题可以用DFS暴力筛出所有情况判断,但是python运行时间比较长,可能在三四分钟左右。

2024-03-20 20:56:38 307

原创 奶牛选美python题解

该题解法很多,这里我用的DFS算法,时间复杂度为O(nm).

2024-03-20 11:42:34 123

空空如也

空空如也

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

TA关注的人

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