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

php怎么做网站程序火蝠电商代运营公司

php怎么做网站程序,火蝠电商代运营公司,重庆商家网站,汕尾网站设计有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。 输出最大价值。 输入 第一行两个整数,N&#xf…

有 N 种物品和一个容量是 V 的背包。
第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。
求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。
输出最大价值。

输入
第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。
接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。

输出
输出一个整数,表示最大价值。

Input
4 5
1 2 3
2 4 1
3 4 3
4 5 2

Output
10

根据不同的数据范围,有不同的选择

Ⅰ.  数据范围   0<N,V≤100  0<vi,wi,si≤100      

直接写

//代码一
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define ios ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
int gcd(int a,int b) { return b? gcd(b,a%b) : a; }
typedef pair<int,int> PII;
const double PI=acos(-1.0);
const int N=510,M=6010;
int n,m;
int v,w,s;
int f[N][M];
void solve()
{cin>>n>>m;for (int i=1;i<=n;i++){cin>>v>>w>>s;for (int j=1;j<=m;j++)for (int k=0;k<=s&&k*v<=j;k++)f[i][j]=max(f[i][j],f[i-1][j-k*v]+k*w);}cout<<f[n][m];
}
signed main()
{ios;int T=1;//cin>>T;while (T--) solve();return 0;
}//代码二:降一维
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define ios ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
int gcd(int a,int b) { return b? gcd(b,a%b) : a; }
typedef pair<int,int> PII;
const double PI=acos(-1.0);
const int N=510,M=6010;
int n,m;
int v,w,s;
int f[M];
void solve()
{cin>>n>>m;for (int i=1;i<=n;i++){cin>>v>>w>>s;for (int j=m;j>=v;j--)for (int k=0;k<=s&&k*v<=j;k++)f[j]=max(f[j],f[j-k*v]+k*w);}cout<<f[m];
}
signed main()
{ios;int T=1;//cin>>T;while (T--) solve();return 0;
}

Ⅱ.  数据范围   0<N≤1000,0<V≤2000,0<vi,wi,si≤2000      

通过二进制将每种物品按照个数的不同重新打包,再按01背包的方式选择

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define ios ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
int gcd(int a,int b) { return b? gcd(b,a%b) : a; }
typedef pair<int,int> PII;
const double PI=acos(-1.0);
const int N=1e6+10;
int n,m;
int f[N],v[N],w[N];
int cnt;
void solve()
{cin>>n>>m;for (int i=1;i<=n;i++){int a,b,s;cin>>a>>b>>s;int k=1;while (k<=s){cnt++;v[cnt]=k*a;w[cnt]=k*b;s -=k;k *=2;}if (s>0){cnt++;v[cnt]=s*a;w[cnt]=s*b;}}for (int i=1;i<=cnt;i++)for (int j=m;j>=v[i];j--)f[j]=max(f[j],f[j-v[i]]+w[i]);cout<<f[m];
}
signed main()
{ios;int T=1;//cin>>T;while (T--) solve();return 0;
}

Ⅲ.  数据范围   0<N≤1000,0<V≤20000,0<vi,wi,si≤20000

通过单调队列来更新状态

//代码一
#include <bits/stdc++.h>
using namespace std;
//#define int long long         //不开就不开吧
#define endl '\n'
#define ios ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
int gcd(int a,int b) { return b? gcd(b,a%b) : a; }
typedef pair<int,int> PII;
const double PI=acos(-1.0);
const int N=1010,M=2e4+10;
int n,m;
int f[N][M],q[M];
void solve()
{cin>>n>>m;for (int i=1;i<=n;i++){int v,w,s;cin>>v>>w>>s;for (int j=0;j<v;j++){int hh=0,tt=-1;for (int k=j;k<=m;k +=v){if (hh<=tt&&k-q[hh]>s*v) hh++;      //判断队头是否滑出窗口,队列中的v不能超过上限s个while (hh<=tt&&f[i-1][q[tt]]-(q[tt]-j)/v*w<=f[i-1][k]-(k-j)/v*w) tt--;q[++tt]=k;f[i][k]=f[i-1][q[hh]]+(k-q[hh])/v*w;}}}cout<<f[n][m];
}
int main()
{ios;int T=1;//cin>>T;while (T--) solve();return 0;
}//代码二 降一维
#include <bits/stdc++.h>
using namespace std;
//#define int long long         //不开就不开吧
#define endl '\n'
#define ios ios::sync_with_stdio(false),cin.tie(nullptr),cout.tie(nullptr);
int gcd(int a,int b) { return b? gcd(b,a%b) : a; }
typedef pair<int,int> PII;
const double PI=acos(-1.0);
const int N=2e4+10;
int n,m;
int f[N],g[N],q[N];
void solve()
{cin>>n>>m;for (int i=1;i<=n;i++){int v,w,s;cin>>v>>w>>s;memcpy(g,f,sizeof f);       //滚动数组,备份上一次的状态for (int j=0;j<v;j++){int hh=0,tt=-1;for (int k=j;k<=m;k +=v){if (hh<=tt&&k-q[hh]>s*v) hh++;      //判断队头是否滑出窗口,队列中的v不能超过上限s个while (hh<=tt&&g[q[tt]]-(q[tt]-j)/v*w<=g[k]-(k-j)/v*w) tt--;q[++tt]=k;f[k]=g[q[hh]]+(k-q[hh])/v*w;}}}cout<<f[m];
}
int main()
{ios;int T=1;//cin>>T;while (T--) solve();return 0;
}

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

相关文章:

  • 团购做的比较好的网站营销推广ppt
  • 网站怎么做网站地图重庆网站制作公司哪家好
  • wordpress改地址后打不开seo品牌优化整站优化
  • 网页设计师证书含金量高吗百度网络优化
  • 咸阳网站开发长沙seo优化公司
  • 网站通cms国内十大搜索引擎排名
  • centos7安装 wordpress网站如何进行seo
  • 设计师灵感网站美国今天刚刚发生的新闻
  • 重庆南岸营销型网站建设公司推荐竞价sem托管
  • 深圳做二维码网站建设什么是互联网营销
  • 网易企业邮箱收费标准百色seo关键词优化公司
  • 做网站的财务需求张北网站seo
  • 北京赛车彩票网站怎么做佛山本地网站建设
  • 门户网站的建设方式有哪些网络推广引流
  • 做中东服装有什么网站免费seo刷排名
  • 做网站用java还是c语言百度竞价推广培训
  • 做动画视频的网站市场监督管理局官网入口
  • 做bbs网站教程军事新闻最新消息今天
  • 在哪儿可以找到网站开发的需求搜索引擎优化介绍
  • 成都网站建设代理加盟网络运营培训班多少钱
  • 太原开发网站公司站长工具端口扫描
  • 域控制网站访问自媒体视频发布平台
  • 广西住房和城乡建设委员会网站湖南网站营销seo多少费用
  • 关键词推广名词解释百度竞价关键词怎么优化
  • 群辉服务器做网站网络优化的内容包括哪些
  • 做淘客的网站岳阳seo
  • 网吧设计方案seox
  • 谁做网站市场营销专业
  • 慈溪外贸公司网站网络营销就业前景和薪水
  • 电商网站建设实训报告长沙网站seo推广公司