博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva--242(邮资问题 dp)
阅读量:5309 次
发布时间:2019-06-14

本文共 1025 字,大约阅读时间需要 3 分钟。

输入输出:

524 1 4 12 214 1 5 12 281025 1 7 16 31 885 1 15 52 67 99623 1 5 84 1 5 7 80

max coverage =  71 :  1  4 12 21max coverage = 409 :  1  7 16 31 88max coverage =  48 :  1  5  7  8

题意:

    最多用S个邮票拼出最大连续数值,每组共同拥有N组例子,每组第一个是数组元素个数,输出字典序最小的一组。

用二维的状态事实上就能够了,i,j,k分别表示取到数组前i位用j个邮票能否拼出k,感觉有点像背包,输入并不都是排好序的,须要排序。

代码:

#include
#include
#include
#include
#include
#include
#include
#define INF 0X3f3f3f3f#define mem(a,b) memset(a,b,sizeof(a))using namespace std;typedef long long ll;typedef unsigned long long llu;const int maxd=10+5;int n,s;vector
st[maxd];int dp[maxd][1005];bool ok(int x){ for(int j=0; j<=s; ++j) if(dp[j][x]) return true; return false;}bool cmp(const vector
&a ,const vector
&b){ int lena=a.size(),lenb=b.size(); if(lena==lenb) for(int i=lena-1;i>=0;--i) if(a[i]!=b[i]) return a[i]
ans) { ans=tmp; pos=i; } } printf("max coverage =%4d :",ans); for(int i=0; i

转载于:https://www.cnblogs.com/yangykaifa/p/6721193.html

你可能感兴趣的文章
Infor.plist&Prefix.pch文件
查看>>
剑指offer:链表中环的入口结点
查看>>
hive安装配置
查看>>
Solved:Spring Junit Test NoSuchMethodError
查看>>
android 横屏竖屏处理--禁止横屏
查看>>
ISSUE 130 孩子的社会化程度对社会发展的影响
查看>>
java8的调试和默认方法
查看>>
自定义指令实例
查看>>
IAR环境定义位变量标志位 STM8 MSP430通用
查看>>
Docker 使用指南 (三)—— 网络配置
查看>>
webService 下得 拦截
查看>>
Git:代码冲突常见解决方法
查看>>
堆、栈知识小结
查看>>
学Android开发的人可以去的几个网站
查看>>
SVN体系结构
查看>>
蓝桥杯--Quadratic Equation
查看>>
C++实现之——降低文件间的编译依存关系(未完待续)
查看>>
Python 字典 update() 方法
查看>>
ylb:SQL 索引(Index)
查看>>
c#中可变参数(params关键字的使用)
查看>>