P2066 机器分配
来源:互联网 发布:淘宝助理官方下载免费 编辑:程序博客网 时间:2024/06/12 18:09
题目传送
这个题是简单的dp+递归输出。
注意一个问题,是要求字典序最小的,所以在递归时,倒着循环,而且找到一个合适的值就要break,否则就会在后面将前面的值覆盖。
#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<algorithm>#include<cstdlib>#define LL long longusing namespace std;LL f[20][20],a[20][20],n,m;int b[20];void work(int x,int last){ if(x==0) return; for(int i=last;i>=0;i--) { if(f[x][last]==f[x-1][last-i]+a[x][i]) { b[x]=i; work(x-1,last-i); break;//一定不要掉下 } }}int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%lld",&a[i][j]); for(int i=1;i<=n;i++) for(int j=0;j<=m;j++) for(int k=0;k<=j;k++) f[i][j]=max(f[i][j],f[i-1][k]+a[i][j-k]); printf("%lld\n",f[n][m]); work(n,m); for(int i=1;i<=n;i++) printf("%d %d\n",i,b[i]); return 0;}
阅读全文
0 0
- 洛谷P2066 机器分配
- 洛谷 P2066 机器分配
- 洛谷P2066 机器分配
- P2066 机器分配
- P2066 机器分配
- luogu p2066 机器分配
- 机器分配
- 机器分配
- 机器分配
- 分配机器
- 机器分配
- 机器分配
- 机器分配
- 机器分配
- 机器分配
- 机器分配
- 机器分配
- 机器分配
- linux命令学习1
- vector容器基本用法
- AngularJs简单订单操作
- deque容器基本操作
- AngularJs购物车添加订单综合
- P2066 机器分配
- stack容器基本操作
- 购物车angular
- 初学angluarjs订单管理
- JAVA中 子类与父类构造方法的关系 个人理解
- Qt中有中文注释编译错误问题
- [BZOJ1612]奶牛的比赛 传递闭包
- 【正一专栏】《使徒行者2》——难得追完的剧
- 订单管理