当前位置: 首页 > news >正文

苏州 网站设计uc搜索引擎入口

苏州 网站设计,uc搜索引擎入口,清远最新通知,wordpress 伪静态配置Leetcode 2902. Count of Sub-Multisets With Bounded Sum 1. 解题思路2. 代码实现3. 算法优化 题目链接:2902. Count of Sub-Multisets With Bounded Sum 1. 解题思路 这一题有点惭愧,因为没有搞定,遇上了超时问题…… 我的思路其实还是…
  • Leetcode 2902. Count of Sub-Multisets With Bounded Sum
    • 1. 解题思路
    • 2. 代码实现
    • 3. 算法优化
  • 题目链接:2902. Count of Sub-Multisets With Bounded Sum

1. 解题思路

这一题有点惭愧,因为没有搞定,遇上了超时问题……

我的思路其实还是挺直接的,就是直接使用动态规划,首先将元素按照unique number进行分组,然后分别考察其取用各个数目的情况下的可能情况。

由此,基本我们就转换成一个元素取用的动态规划问题,剩下的我们就只需要进行剪枝优化即可。

2. 代码实现

给出python代码实现如下:

class Solution:def countSubMultisets(self, nums: List[int], l: int, r: int) -> int:MOD = 10**9+7cnt = Counter(nums)nums = sorted(cnt.items(), reverse=True)n = len(nums)accums = [0 for _ in range(n+1)]for i in range(n-1, -1, -1):accums[i] = accums[i+1] + nums[i][0] * nums[i][1]@lru_cache(None)def dp(idx, prev):if idx >= n:return 1 if l <= prev <= r else 0if prev > r:return 0if prev + accums[idx] < l:return 0num, m = nums[idx]return sum(dp(idx+1, prev + i*num) for i in range(m+1)) % MODreturn dp(0, 0)

不过很不幸的是,上述算法一直遇到超时问题,最后也没有优化掉这个问题……

3. 算法优化

看了一下大佬们的解答,整体依然还是动态规划的思路,而且也是需要先将数据按照unique number进行分组。

不过,大佬们的解法是直接按照所有的值进行动态规划,考察得到某个具体的值的情况下可能的选择方法。

给出大佬们的python代码实现如下:

class Solution:def countSubMultisets(self, nums: List[int], l: int, r: int) -> int:MOD = 10**9+7cnt = Counter(nums)dup = cnt[0] + 1nums = [(k, v) for k, v in cnt.items() if k != 0]dp = [0 for _ in range(r+1)]dp[0] = 1for num, k in nums:dp_acc = [0] * (num + r + 1)for i in range(r + 1):dp_acc[num+i] = dp_acc[i] + dp[i]new_dp = [0 for _ in range(r+1)]for i in range(r, -1, -1):new_dp[i] = (dp_acc[i + num] - dp_acc[max(0, i - k * num)]) % MODdp = new_dpreturn (sum(dp[l:]) * dup) % MOD

提交代码评测得到:耗时4445ms,占用内存20.4MB。

http://www.yayakq.cn/news/637111/

相关文章:

  • 如何在网站上做标记圈信息网站开发项目具体的流程
  • 哪个平台建网站比较好做别人一摸一样的网站犯法吗
  • 北京住房和建设部网站首页seo建设
  • 广东网站建设怎么选上海网站开发培训
  • 做化妆品等的网站如何在亚马逊开店
  • 留学中介网站建设方案品牌查询官网
  • 源码之家网站排行榜123网
  • 网站的建设背景专门做酒店自助餐的网站
  • easyui做门户网站永久免费企业建站官网大全
  • 至设计网站wordpress 社交登陆
  • 软文网站有哪些长春网长春关键词排名站设计
  • 网页设计制作网站模板湖南智能网站建设哪里好
  • 奉贤网站建设公司wordpress财务会计系统
  • 广西北海网站建设安徽中擎建设公司网站
  • 重庆建设教育培训管理系统网站做网站中app客户端
  • 上海网站建设网站制嘉兴网红桥在哪里
  • 没网站做cpa广告联盟wordpress电商模板下载
  • 专业的移动网站建设公小企业建网站
  • 高端手机网站案例石家庄网络推广的优势
  • 免费个人博客注册寰宇seo
  • 设计网站公司湖南岚鸿公司最便宜的网站叫什么名字
  • 爱站站长工具wordpress怎么放图片不显示不出来
  • 浙江企业响应式网站建设设计国内推广平台
  • 保定建设网站公司百度app内打开
  • 商城网站模板下载打造自己的网站
  • 昆明营销型网站建设公司wordpress工程师
  • 新乡网站建设多少钱哪些公司做网站开发
  • 手机网站建设案例关键词排名推广
  • 设计师万能导航网站义乌网站建设制作
  • 自助建站软件自动建站系统单页面网站好优化吗