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

wordpress电商网站/百度seo技术

wordpress电商网站,百度seo技术,更新服务 wordpress,完善政府网站建设今天dp发现一道背包方案数的题,先是看错题目(丢人),然后是循环不会搞(丢人)。 首先是本人看错题想出来的变式:求能拼成的方案总数这个的话既不是完全背包也不是普通的01背包,所以考虑…

今天dp发现一道背包方案数的题,先是看错题目(丢人),然后是循环不会搞(丢人)。

首先是本人看错题想出来的变式:求能拼成的方案总数这个的话既不是完全背包也不是普通的01背包,所以考虑按照01背包的方案数来求解。

设f[i]表示当前的价值能否拼出,f[0]=1;f[i] | =f[i-a[j]];这个地方或一下(这个操作第一次使用重视一下)意思感性理解一下很简单。

然后是循环的问题三重循环的位置打反了,关键是没有考虑好更新时候的状态安排,要不然是不可能打反的,这里注意第一层循环是物品的数量,第二重循环就要倒着枚举背包的价值了,因为在当前的数量面前它的数量并非无限所以需要01背包的倒着循环而多次的话通过第一层循环来增加。

第三重循环则是枚举物品的价值了,状态转移的时候k记得要判断>=a[j]不然re。。。

代码:

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<ctime>
#include<vector>
#include<map>
#include<queue>
#include<iomanip>
#include<stack>
#include<algorithm>
using namespace std;
inline int read()
{int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}return x*f;
}
int n,m;
int a[100],ans=0;
int f[1002],maxx=-1;
int main()
{//freopen("1.in","r",stdin);n=read();m=read();for(int i=1;i<=m;i++){a[i]=read();maxx=max(maxx,a[i]);}f[0]=1;maxx*=n;for(int i=1;i<=n;i++)for(int k=maxx;k>=0;k--)for(int j=1;j<=m;j++)if(k>=f[j])f[k]|=f[k-a[j]];for(int i=1;i<=maxx;i++)if(f[i]!=0)ans++;printf("%d\n",ans);return 0;
}
View Code

看错题了真是尴尬,那么这道原题对于我这个dp蒟蒻,还是好难啊。
这道题的正解是一个01完全背包限制一下数量再进行转移即可。。。

#include<iostream>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<string>
#include<ctime>
#include<vector>
#include<map>
#include<queue>
#include<iomanip>
#include<stack>
#include<algorithm>
using namespace std;
inline int read()
{int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}return x*f;
}
const int wy=1999999;
int n,m;
int ans=0,maxx=-1;
int a[100],f[2000010];//f[i]表示第i个价值被最少的物品拼成
int main()
{    //freopen("1.in","r",stdin);n=read();m=read();for(int i=1;i<=m;i++){a[i]=read();maxx=max(maxx,a[i]);}maxx*=n;for(int i=1;i<=maxx;i++)f[i]=wy;f[0]=0;for(int i=1;i<=m;i++)for(int j=a[i];j<=maxx;j++){if(f[j-a[i]]+1<=n)f[j]=min(f[j],f[j-a[i]]+1);}for(int i=1;i<=maxx;i++){if(f[i]==wy){printf("%d\n",i-1);return 0;}}printf("%d\n",maxx);return 0;
}
View Code

磐石不转守四方——《全职高手》

转载于:https://www.cnblogs.com/chdy/p/9839751.html

http://www.jmfq.cn/news/4767697.html

相关文章:

  • 扁平化企业网站模板/广州seo快速排名
  • 企业装修展厅公司/天津网站优化软件
  • 国内知名网站建设排名/技能培训网
  • 卡姐的wap是什么意思/百度网站排名优化价格
  • 网站深度功能/阿里巴巴logo
  • 网站显示内容不显示不出来/上海百度公司地址在哪里
  • 网站建设公司格/域名注册费用
  • 食品经营许可网站增项怎么做/职业培训学校
  • 网站建立好如何做seo/百度竞价排名公司
  • 公司主页网站开发/天津谷歌优化
  • 那个网站做代买/龙华网站建设
  • 连云港做网站多少钱/友情链接买卖代理
  • 深圳vi设计平台/厦门关键词优化企业
  • 网站设计属于什么分类号/说到很多seo人员都转行了
  • 网站单页在线/广告联盟大全
  • 池州网站公司/网络营销专员的就业前景
  • 南宁国贸网站建设/网站推广服务
  • 北京招聘网/夫唯seo
  • 网站色彩设计/淘宝关键词怎么优化
  • 电子商务与网站建设课程/学生个人网页制作
  • 设计企业网站主页图片/上海平台推广的公司
  • 企业网站建设一条龙多少钱/推广信息发布平台
  • 制作网站必做步骤/爱站seo
  • 查询网站空间的服务商/上海短视频seo优化网站
  • 滨海新区网站建设/济宁百度推广电话
  • 做企业网站还有钱挣吗/河南网站优化公司
  • 做定制网站价格/百度站长平台官网登录入口
  • 代做淘宝联盟网站/爱链工具
  • 有没有通信专业业余做兼职的网站/fifa最新排名出炉
  • wordpress媒体库加一个分类/seo推广专员