题解列表

筛选

贪心法解纪念品分组问题

摘要:解题思路:先接受数据,将对应数量的纪念品价值进行从小到大排序,再利用双指针法进行分组计数,左右指针指向纪念品价值之和不大于上限时,左指针右移,右指针左移,否则只移动右指针将右边的纪念品单独分为一组,每……

python的咋没题解,我来加一个:1105数列

摘要:解题思路:首先做个列表,先把第一个元素1和第二个元素k放进去,接着开始运算,可以发现每一个k^i的后面的元素都是他前面的每一个元素与它的顺序求和,那就可以先利用循环往里面添加k^i之后的每一个元素,然……

jam计数法——python解法补充

摘要:解题思路:该题目主要就是在每一个jam数字中,要从右往左遍历,当遍历到的那一位满足list[i]+t-1-i<t的时候才能加一并且更改后续字母,不然无法满足从左往右依次递增的要求,为了解题方便,可以利……

面向对象写

摘要:解题思路:注意事项:参考代码:class Time:    def __init__(self):        self.__h = 0        self.__m = 0        sel……

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

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

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

摘要:解题思路:这题用python解的话第一个输入其实没有什么用,这题主要就是把那十个数字存到列表里,然后利用集合的去重性进行模式反复转换来去重,最后利用sort()函数进行正向排序就可以了,输出的话记得e……

跟01背包问题一样

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

经典的动态规划

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

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

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