(
||{集合x}表示x中元素1||x中元素2||...||x的最后一个元素
||(a,b)表示a||b
)

ans[i][j][k]表示考虑前i种邮票时取j个邮票能否得到面值k
ans[i][j][k]= ||{ans[i-1][j-p][k-p*a[i]]}(0<=p<=j,p*a[i]<=k)
ans[i][j][k]= ||(ans[i-1][j][k],ans[i-1][j-1][k-a[i],...,ans[i-1][j-p][k-p*a[i]])
ans[i][j-1][k-a[i]]= ||(ans[i-1][j-1][k-a[i],...,ans[i-1][j-p][k-p*a[i]])
因此
ans[i][j][k]= ||(ans[i-1][j][k],ans[i][j-1][k-a[i]]) j、k从小到大
因此
ans[j][k]= ||(ans[j][k],ans[j-1][k-a[i]]) i、j、k从小到大

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int s,n;
struct Stamp
{
int data[],ans1,data1[];
int& operator[](int x)
{
return data[x];
}
int operator[](int x) const
{
return data[x];
}
void init()
{
memcpy(data1,data,sizeof(data1));
sort(data+,data+data[]+);
bool ans2[][];
bool ans[];
memset(ans,,sizeof(ans));
memset(ans2,,sizeof(ans2));
int i,j,k;
ans2[][]=true;
for(i=;i<=data[];i++)
for(j=;j<=s;j++)
for(k=data[i];k<=j*data[i];k++)
ans2[j][k]|=ans2[j-][k-data[i]];
for(i=;i<=s*data[data[]]+;i++)
for(j=;j<=s;j++)
ans[i]|=ans2[j][i];
for(i=;i<=s*data[data[]]+;i++)
if(ans[i]==false)
{
ans1=i-;
break;
}
}
friend bool operator<(const Stamp& a,const Stamp& b)
{
if(a.ans1>b.ans1)
return true;
else if(a.ans1<b.ans1)
return false;
if(a[]<b[])
return true;
else if(a[]>b[])
return false;
//int x[11],y[11];
//memcpy(x,a.data,sizeof(x));
//memcpy(y,b.data,sizeof(y));
//sort(x+1,x+x[0]+1);
//sort(y+1,y+y[0]+1);
int i;
for(i=a[];i>=;i++)
if(a[i]<b[i])
return true;
else if(a[i]>b[i])
return false;
return false;
}
void print()
{
printf("max coverage =%4d :",ans1);
for(int i=;i<=data[];i++)
printf("%3d",data1[i]);
puts("");
}
}st[];
int num_st;
int main()
{
int i,j;
scanf("%d",&s);
while(s!=)
{
num_st=;
scanf("%d",&n);
for(i=;i<=n;i++)
{
scanf("%d",&st[++num_st][]);
for(j=;j<=st[num_st][];j++)
scanf("%d",&st[num_st][j]);
st[num_st].init();
}
int temp=;
for(i=;i<=num_st;i++)
if(st[i]<st[temp])
temp=i;
st[temp].print();
scanf("%d",&s);
}
return ;
}

Stamps ans Envelope Sive UVA - 242的更多相关文章

  1. uva 242

    242 - Stamps and Envelope Size Time limit: 3.000 seconds  Stamps and Envelope Size  Philatelists hav ...

  2. UVA - 242 Stamps and Envelope Size (完全背包+bitset)

    题意:给你一些邮票面值的集合,让你选择其中一个集合,使得“能用不超过n枚集合中的邮票凑成的面值集合S中从1开始的最大连续面值”(即mex(S)-1)最大.如果有多解,输出集合大小最小的一个:如果仍有多 ...

  3. UVa 242 Stamps and Envelope Size (无限背包,DP)

    题意:信封上最多贴S张邮票.有N个邮票集合,每个集合有不同的面值.问哪个集合的最大连续邮资最 大,输出最大连续邮资和集合元素. 最大连续邮资是用S张以内邮票面值凑1,2,3...到n+1凑不出来了,最 ...

  4. 【Uva 242】Stamps and Envelope Size

    [Link]: [Description] 给你n个集合; 每个集合都包含一些不同面额的邮票; (每种邮票都当做有无限张) 然后给你一封信上最多能贴的邮票张数S; 问你,哪一个集合的邮票; 能够贴出来 ...

  5. 习题9-5 UVA 242

    Stamps and Enovelope Size 题意: 给你最多贴S张邮票.有N个邮票集合,每个集合有不同的面值.问哪个集合的最大连续邮资最大,输出最大连续邮资和集合元素. 如果不止一个集合结果相 ...

  6. Uva 242 邮票和信封

    题目链接:https://vjudge.net/contest/146179#problem/D 题意: 信封上最多贴S张邮票.有N个邮票集合,每个集合有不同的面值.问哪个集合的最大连续邮资最大,输出 ...

  7. uva242,Stamps and Envelope Size

    这题紫薯上翻译错了 应该是:如果有多个并列,输出邮票种类最少的那个,如果还有并列,输出最大面值最小的那个 坑了我一个下午 dp[p][q]==1表示可以用不超过q张组成面额p 结合记忆化,p从1开始枚 ...

  8. UVA - 242 线性DP

    题意:给定多种邮票的组合,邮票最多只能用S张,这些邮票能组成许多不同面额,问最大连续面额的长度是多少,如果有多个组合输出组合中邮票数量最少的,如果仍有长度一致的,输出邮票从大到小排序后字典序最大的那个 ...

  9. UVa 242 邮票和信封(完全背包)

    https://vjudge.net/problem/UVA-242 题意: 输入s(每个信封能粘贴的最多邮票数量)和若干邮票组合,选出最大连续邮资最大的一个组合(最大连续邮资也就是用s张以内的邮票来 ...

随机推荐

  1. Semaphore使用

    Semaphore使用

  2. POJ 1988 Cube Stacking(并查集+路径压缩)

    题目链接:id=1988">POJ 1988 Cube Stacking 并查集的题目 [题目大意] 有n个元素,開始每一个元素自己 一栈.有两种操作,将含有元素x的栈放在含有y的栈的 ...

  3. 【Sublime】Sublime Text 2集成TortoiseSVN插件

    作者:zhanhailiang 日期:2014-09-30 1. 下载TortoiseSVN.将其安装在默认位置: 2. 使用Sublime包管理器下载安装TortoiseSVN Plugin,安装后 ...

  4. 深度学习笔记之使用Faster-Rcnn进行目标检测 (实践篇)

    实验 我使用的代码是Python版本的Faster Rcnn,官方也有Matlab版本的,链接如下: py-faster-rcnn(python) faster-rcnn(matlab) 环境配置 按 ...

  5. 五------Jsp九大内置对象。

    Jsp九大内置对象,当中最基本的是前五个对象. 5-1 out对象 out对象是JSPWriter类的实例.是向client输出内容经常使用的对象. out对象经常使用的方法例如以下: 1.out.p ...

  6. 硬件开发之bt输出---BT656/BT601/BT1120协议以及DM365/DM355/DM6467上使用的YUV颜色空间说明

    http://blog.csdn.net/zhouzhuan2008/article/details/17168133

  7. VS2010打开高版本VS解决方案

    http://blog.csdn.net/backspace110/article/details/62111273 Microsoft Visual Studio Solution File, Fo ...

  8. 系统队列中的Windows错误报告

  9. Lightoj 1018 - Brush (IV)

    1018 - Brush (IV)    PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Muba ...

  10. bzoj3330: [BeiJing2013]分数

    口胡 题目hint都给你是一个三分函数了 还不会上三分套三分吗 exp函数又卡 精度又卡 什么sb毒瘤题 浪费时间