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

晋江网站建设排名网

晋江网站建设,排名网,php 遍历网站,都哪些网站可以做gif题目 P1 背包 子集积 > m >m >m 个数并不好求,考虑子集积 ≤ m \le m ≤m 的个数 x x x,答案即为 ( 2 n − x ) (2^n - x) (2n−x)。 对于子集积 ≤ m \le m ≤m 的个数,可以化为 0-1 背包问题做, f i , j f_{i,…

题目

P1 背包

子集积 > m >m >m 个数并不好求,考虑子集积 ≤ m \le m m 的个数 x x x,答案即为 ( 2 n − x ) (2^n - x) (2nx)

对于子集积 ≤ m \le m m 的个数,可以化为 0-1 背包问题做, f i , j f_{i,j} fi,j 表示前 i i i 个数,子集积为 j j j 的个数,有:

f i , j = ∑ j = 1 m f i − 1 , j a i f_{i,j}=\sum \limits_{j=1}^{m} f_{i-1,\frac {j} {a_i}} fi,j=j=1mfi1,aij j j j a i a_i ai 的倍数)。

背包问题常规地去掉一维: f j f_j fj 表示子集积为 j j j 的个数:

f j = ∑ j = 1 m f j a i f_j=\sum \limits_{j=1}^{m} f_{\frac {j} {a_i}} fj=j=1mfaij j j j a i a_i ai 的倍数)。

	cin >> n >> m;for(int i=1; i<=n; i++) cin >> a[i];f[1] = 1;for(int i=1; i<=n; i++)for(int j=(m / a[i]) * a[i]; j>=a[i]; j-=a[i])f[j] += f[j / a[i]], f[j] %= mod;int sum = qpow(2, n);for(int i=1; i<=m; i++)sum -= f[i],  sum = ((sum % mod) + mod) % mod;cout << sum;

时间复杂度 O ( n × ∑ i = 1 n m a i ) O(n \times \sum\limits_{i=1}^{n} {\frac {m} {a_i}}) O(n×i=1naim) ,最坏情况下 O ( n m ) O(nm) O(nm)

P2 优化

优化 1

若序列中有 100 100 100 1 1 1 ,然而任意多个 1 1 1 不会对子集积产生影响,我们只需要在方案数中乘以 2 100 2^{100} 2100 即可。

	...int sum = qpow(2, n);for(int i=1; i<=m; i++)sum -= (f[i] * qpow(2, cnt[1])) % mod,  sum = ((sum % mod) + mod) % mod;cout << sum;

优化 2

时间复杂度高的原因在于重复的计算:若有 100 100 100 2 2 2 ,我们会将第 2 , 3 2,3 2,3 2 2 2 、第 3 , 4 3,4 3,4 2 2 2 算了两次。我们应该只关心是几个 2 2 2 ,而不关心是哪几个 2 2 2

对于任意一个数 x x x ,设其出现了 t t t 次,我们可以对 x 1 , x 2 , . . . , x t x^1,x^2,...,x^t x1,x2,...,xt 分别计算,使用 x i x^i xi 计算贡献时乘以 C t i C_{t}^i Cti, 即 :

f j = ∑ i = 1 t ( f j x i × C t i ) f_j=\sum\limits_{i=1}^{t} ( f_{\frac {j} {x^i}} \times C_t^i) fj=i=1t(fxij×Cti) j j j x k x^k xk 的倍数)。

时间复杂度 O ( n ∑ i = 1 n ( log ⁡ a i m ) ) O(n \sum\limits_{i=1}^{n} (\log_{a_i}{m})) O(ni=1n(logaim)),最坏情况下 O ( n log ⁡ m ) O(n \log m) O(nlogm)

注意: 这里与多重背包的二进制拆分拆成多个物品不同,而是优化了对于一个物品的计算方式。

代码

http://www.hkea.cn/news/675008/

相关文章:

  • 网站用什么布局专业网站建设公司
  • 公司网站怎么做分录it培训机构学费一般多少
  • 如何将自己做的网页做成网站绍兴seo
  • 河南省住房与城乡建设厅网站首页怎么做属于自己的网站
  • 移动端网站开发推广效果最好的平台
  • 用二级页面做网站的源代码自助建站系统破解版
  • 网站上怎么做动画广告推广策略包括哪些内容
  • 广州网站优化公司大亚湾发布
  • 广州网站开发招聘百度经验悬赏令
  • 吴江建设局网站郑州粒米seo外包
  • 建设工程合同纠纷与劳务合同纠纷seo培训教程视频
  • 找网站建设公司哪家最好沈阳市网站
  • sh域名做的好的网站什么是营销
  • 网站平台怎么做推广一站式网络推广服务
  • 百度对新网站排名问题兰州seo快速优化报价
  • 网站建设常用代码湘潭网络推广
  • 做网站上传图片一直错误好用搜索引擎排名
  • 钟祥网站建设网络推广的含义
  • 新闻类网站源码青岛官网seo
  • 网站优化哪里可以做百度营销客户端
  • 常德建设局网站北京优化网站方法
  • 用ip做网站优化手机流畅度的软件
  • 为网站添加统计媒介
  • 商业设计网站推荐互联网营销师证书是国家认可的吗
  • 做网站的是干嘛的怎样把自己的产品放到网上销售
  • 品牌型网站制作价格2022年小学生新闻摘抄十条
  • 政府网站群集约化建设网络暴力事件
  • 可以做卷子的网站游戏app拉新平台
  • 长沙优化网站关键词社区营销
  • 个人网站制作价格表重庆关键词优化