UVA 473——Raucous Rockers
来源:互联网 发布:哪里有seo黑帽教程 编辑:程序博客网 时间:2024/06/10 06:48
题意:给定n个数,放到m个容器里,每个容器的容量是t(n个数的累加和不超过t),在不打乱放的顺序的情况下问最多能放多少个数?
思路:多维dp,f[i][j[k]表示前i个数放到第j个容器放k个的最大数量。则不放的状态为f[i-1][j][k],放为f[i-1][j-1][k](放在第一个)f[i-1][j-1][k-v[i]]+1(不是放在第一个)。
code:
#include <bits/stdc++.h>using namespace std;const int N=1005;int v[N],f[N][120][120];int main(){ int T,n,m,t,x; scanf("%d",&T); while (T--){ scanf("%d%d%d",&n,&t,&m); int len=0; for (int i=1;i<=n;i++) { if (i==1) scanf("%d",&x); else scanf(",%d",&x); if (x<=t) v[++len]=x; } n=len; memset(f,0,sizeof(f)); for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) for (int k=0;k<=t;k++){ f[i][j][k]=f[i-1][j][k]; if (k>=v[i]){ f[i][j][k] = max(f[i][j][k], f[i-1][j][k-v[i]]+1); f[i][j][k] = max(f[i][j][k], f[i-1][j-1][t]+1); } } printf("%d\n",f[n][m][t]); if (T) puts(""); }}
0 0
- UVA 473——Raucous Rockers
- UVA 473 Raucous Rockers
- UVA 473 - Raucous Rockers (dp)
- UVA 473 - Raucous Rockers(dp)
- uva 473 - Raucous Rockers(dp)
- UVA 473-Raucous Rockers(DP)
- UVA 473 Raucous Rockers(多个背包dp)
- Python——【USACO 3.4.3】——Raucous Rockers
- “破锣摇滚”乐队 Raucous Rockers——动态规划
- Raucous Rockers
- Raucous Rockers~
- USACO 3.4 Raucous Rockers (rockers)
- USACO3.4.3 Raucous Rockers (rockers)
- USACO3.4.3 Raucous Rockers (rockers)
- Section 3.4 Raucous Rockers
- usaco - Raucous Rockers
- usaco Raucous Rockers
- usaco Raucous Rockers
- oracle BLOB的insert和update 终极解决方案
- Title 2: after
- android 属性android:visibility及 view的setVisibility方法值的意思
- 如何提高英文的科研写作能力
- mysql常用技巧
- UVA 473——Raucous Rockers
- java串行化
- 数据通道
- Eclipse快捷键大全(转载)
- java 常见的面试题技巧(框架)
- POJ3009-Curling 2.0
- Eclipse设置:背景与字体大小和xml文件中字体大小调整(转载)
- 浅谈《机房收费系统》重构中的Boolean和Datatable
- [BZOJ2631]tree