P1759 通天之潜水(不详细,勿看)(动态规划递推,组合背包,洛谷)
2024-09-30 05:48:29
题目链接:点击进入
题目分析:
简单的组合背包模板题,但是递推的同时要刷新这种情况使用了哪些物品
ac代码:
#include<bits/stdc++.h>
using namespace std;
int weigh[],zhu[],t[];
struct student
{
int s;
int number;
int a[];
}f[][];
int main()
{
std::ios::sync_with_stdio(false);
int m,v,n;//m总重量,v总阻力,n物品数
cin>>m>>v>>n;
for(int i=;i<=n;i++)
{
cin>>weigh[i]>>zhu[i]>>t[i];//weigh个体重量,zhu个体阻力,t个体价值
}
for(int i=;i<=n;i++)
for(int mi=m;mi>=weigh[i];mi--)
for(int vi=v;vi>=zhu[i];vi--)
{
//printf("\nnumber=%d\n",f[0][0].number);
if(f[mi][vi].s<f[mi-weigh[i]][vi-zhu[i]].s+t[i])
{
f[mi][vi].s=f[mi-weigh[i]][vi-zhu[i]].s+t[i];
if(f[mi-weigh[i]][vi-zhu[i]].number==)
{
f[mi][vi].a[]=i;
f[mi][vi].number=;
}
else
{
for(int x=;x<=f[mi-weigh[i]][vi-zhu[i]].number;x++)
{
f[mi][vi].a[x]=f[mi-weigh[i]][vi-zhu[i]].a[x];
}
f[mi][vi].number=f[mi-weigh[i]][vi-zhu[i]].number+;
f[mi][vi].a[f[mi][vi].number]=i;
}
}
}
int maxn=f[m][v].s,last_i=m,last_j=v;
printf("%d\n",maxn);
for(int i=m;i>=;i--)
for(int j=v;j>=;j--)
{
if(f[i][j].s!=maxn&&f[last_i][last_j].s==maxn)
{
for(int x=;x<=f[last_i][last_j].number;x++)
{
printf("%d ",f[last_i][last_j].a[x]);
}
//printf("%d",f[last_i][last_j].number);
return ;
}
last_i=i;last_j=j;
}
return ;
}
然后最后在找到相同时间下使用的最少物品情况就好了
对于f数组可以用结构体存,这样更方便,顶多不好写,可是思路清晰
我对于当前已经存了多少个数是从一开始记,所以用了if,else的分类讨论,防止出查错
最新文章
- flask+sqlite3+echarts3+ajax 异步更新数据
- PO、VO、BO、DTO、POJO、DAO
- 在SQL Server 2016里使用查询存储进行性能调优
- SSH 小总
- 对Javascript异步执行的理解
- 最精简的IOCP封装
- python flask model 序列化
- Linux进程调度和切换过程分析
- Android中的事件分发机制总结
- jquery $.each() 小探
- jekyll博客安装
- VS2013全攻略(安装,技巧,快捷键,插件)!
- qemu 模拟-arm-mini2440开发板-启动u-boot,kernel和nfs文件系统【转】
- 近期Mac上编译geany软件的总结
- 路由器动态DNS设置
- sql server连接oracle并实现增删改查
- Effective Java 第三版——69. 仅在发生异常的条件下使用异常
- select标签(分组下拉菜单和列表)
- php实现同一时间内一个账户只允许在一个终端登陆
- go语言练习:指针
热门文章
- Fiddler对https抓包时,提示";HTTPS decryption is disabled.";原因及破解
- bzoj 4826: [Hnoi2017]影魔【单调栈+树状数组+扫描线】
- (3)css文本样式
- qr.update导致的java.lang.NullPointerException空指针异常
- Luogu P1119 灾后重建 【floyd】By cellur925
- HttpSession讲解
- icons使用
- hdu 3966 Aragorn's Story
- 一命令安装nginx
- [转]MySQL游标的使用