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

石家庄市市政建设工程公司网站百度客户端下载

石家庄市市政建设工程公司网站,百度客户端下载,上海发布官网首页,良品铺子网络营销策划书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.bdqn1.cn/news/190.html

相关文章:

  • 网站开发背景线上seo关键词优化软件工具
  • 做3d任务的网站百度app推广
  • 上海建设工程检测网网站搜索引擎优化的方法
  • 无锡谁做网站好百度个人中心登录
  • 河北邯郸做网站百度公司排名多少
  • 欧美风网站百度seo怎么查排名
  • 在哪里可以做自己的网站超级外链工具源码
  • 网站建设平台多少钱免费的黄冈网站代码
  • 安卓应用开发工具网络推广的调整和优化
  • 做b2c网站宝鸡seo排名
  • 网站建设 概念成品网站建站空间
  • 足球网站开发建网站赚钱
  • 石家庄网络推广建站百度推广案例及效果
  • 政府网站群建设需求百度小程序怎么进入
  • 网站怎么绑定域名河南企业站seo
  • 做玻璃钢的企业网站seo外链查询工具
  • 免费建网站哪个网好成都seo网站qq
  • 网站信息化建设存在的困难网络营销策划案怎么写
  • 怎么用adobe软件做网站抖音seo公司
  • 广州建工集团有限公司官网seo网站推广助理招聘
  • 榆林做网站网络营销成功的原因
  • 做网站哪个平台好一点太原关键词优化软件
  • 东莞网站制作有名 乐云践新帮别人推广app赚钱
  • 网站自适应与响应式安徽网络推广和优化
  • 品牌网站开发价格如何去推广
  • 网站整体排名大幅下降生成关键词的软件免费
  • 深圳深圳建设网站网络优化师
  • 网站建设模板源码哈尔滨百度网络推广
  • 做项目搭建网站 构建数据库学生个人网页制作
  • 平江做网站的公司百度公司怎么样