acgo题库
  • 首页
  • 题库
  • 学习
  • 天梯
  • 备赛

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
  • 竞赛
  • 讨论
  • 团队
  • 商城
登录
注册
题目详情提交记录(0)
  • 【正经题解】秒杀双十一

    userId_undefined
    AC君
    管理员倔强青铜
    80阅读
    0回复
    2点赞
  • 题解

    #include<iostream> using namespace std; int dp[900001],w[100001],c[100001],num[100001]; int main(){ int n,m,sum; cin>>m>>n; for(int i=1;i<=n;i++){ cin>>w[i]>>c[i]>>sum; if(sum==0){ num[i]=m/w[i]; }else{ num[i]=min(sum,m/w[i]); } }

    userId_undefined
    法兰西玫瑰
    97阅读
    0回复
    0点赞
  • 题解哦,亲

    userId_undefined
    fufu
    34阅读
    1回复
    0点赞
  • 题题题题题解

    本质就是多重背包问题,套模板即可

    userId_undefined
    EKM_
    时间刺客空间掌握者时空双修者秩序白银
    13阅读
    0回复
    2点赞
  • 混合背包

    #include<bits/stdc++.h> using namespace std; int n,m,v,w,c,dp[1005]; int main(){ scanf("%d%d",&m,&n); for(int i=1;i<=n;i++){ scanf("%d%d%d",&v,&w,&c); if(c0){//完全背包 for(int j=v;j<=m;j++){ dp[j]=max(dp[j],dp[j-v]+w); } } else if(c1){//01背包 for(int j=m;j>=v;j--){ dp[j]=max(dp[j],dp[j-v]+w); } } else{//多重背包 for(int j=1;c;j<<=1){ int x=min(j,c); for(int k=m;k>=vx;k--){ dp[k]=max(dp[k],dp[k-vx]+w*x); } c-=x; } } } printf("%d\n",dp[m]); return 0; }

    userId_undefined
    张栩晗
    倔强青铜
    7阅读
    0回复
    1点赞
  • 题解

    userId_undefined
    喵仔牛奶
    小有名气题解仙人8月全勤卷王9月全勤卷王11月全勤卷王GESP5级
    1阅读
    0回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页