题解列表

筛选

典型的动态规划,0/1背包问题换皮

解题思路:该问题明显就是动态规划,限定的使用资源(N元预算),每件商品选择买或者不买(0/1选择),给出商品数量;只需要使用动态规划经典思路,dp二位列表,dp[i][j]=dp[i-1][j](忽略该商品不买),dp[i][j]=max(dp[i-1][j],

利用列表的sort()方法以及集合的去重特性

解题思路:这题用python解的话第一个输入其实没有什么用,这题主要就是把那十个数字存到列表里,然后利用集合的去重性进行模式反复转换来去重,最后利用sort()函数进行正向排序就可以了,输出的话记得end='',代替默认的\n注意事项:输出注意一下格式不要错参考代码:n=int(inp

跟01背包问题一样

注意01背包问题就是分情况讨论,当你遍历每一个药物时,你都只能选择拿或者不拿上这一个,假设用dp[i][j]表示前i个在剩下的j时间中所能装的最大价值,则如果你拿上新的物体,就是dp[i][j]=max(dp[i-1][j-w[i]],dp[i-1][j]),忽略该物体,

经典的动态规划

解题思路:注意01背包问题就是分情况讨论,当你遍历每一个物体时,你都只能选择拿或者不拿上这一个,假设用dp[i][j]表示前i个物体在剩下的j容量中所能装的最大价值,则如果你拿上新的物体,就是dp[i][j]=max(dp[i-1][j-w[i]],dp[i-1][j]),忽略该物体,

两种方法解题,一种列表,一种集合

解题思路:主要就是算L+1棵树里面需要减去的数目,重合的地方不再重复减,挺简单注意事项:用集合的时候要注意集合的创建方式别写错参考代码:方法一,采用列表:a,b=map(int,input().split())e=[1]*(a+1)foriinrange(b):c,

就简单比大小,感觉没什么含金量

解题思路:数据用map转化为迭代类型再转化为列表,然后遍历该列表比大小就行,注意高度相等也算够得到注意事项:不要忽略高度相等参考代码:a=list(map(int,input().split()))b=30c=int(input())count=0foriina:ifi<=c+b:count+=1pr

这破题难就难在debug,全是小错误

解题思路:由于这一题需要判断每个点的情况并且决定是否增加数值,因此需要利用二维列表依次进行判断,不能使用一维列表直接存一段字符串,这里将非雷的元素全部替换为0,对每一个雷进行判断,周围的位置如果有非雷点就对其加一注意事项:全是小错误,要多练习,

python天数计算——挑战最简解

摘要:python就不讲什么结构体了,咱没有这玩意参考代码:year, month, day = map(int, input().split()) days1 = [31, 28, 31, 30, 31……

[python]母牛的故事

摘要:解题思路:        可以把母牛分成四类:成年(可产仔的)牛,一年牛,二年牛,三年牛        后三者每过一年会往后升一级,如一年牛变二年牛,二年牛变三年牛,三年牛变成年牛          ……