题目1209:最小邮票数
来源:互联网 发布:mac mysql 密码修改 编辑:程序博客网 时间:2024/05/06 01:13
动态规划问题,递推公式dp[i][j]=min(dp[i-1][j],dp[i-1][j-s[i]]+1)。需要注意的是数组从大到小排序,然后要注意dp[i][s[i]]=1 。
C++代码:
#include<iostream>#include<algorithm>#include<limits.h>#include<memory.h>using namespace std;int dp[21][101];bool cmp(int a,int b){return a>b;}int main(){freopen("1.txt","r",stdin);int m,n,s[21];while(cin>>m>>n){memset(dp,0x0f,sizeof(dp));memset(s,0,sizeof(s));for(int i=n-1;i>=0;i--)cin>>s[i];if(s[0]<=m)dp[0][s[0]]=1;for(int i=1;i<=n;i++){for(int j=m;j>=0;j--){if(j>=s[i])dp[i][j]=min(dp[i-1][j],dp[i-1][j-s[i]]+1);elsedp[i][j]=dp[i-1][j];}dp[i][s[i]]=1;//very important}if(dp[n-1][m]>21)dp[n-1][m]=0;cout<<dp[n-1][m]<<endl;}return 0;}
0 0
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 题目1209:最小邮票数
- 九度题目1209:最小邮票数
- 九度题目1209:最小邮票数
- 题目1209:最小邮票数DP
- 九度oj 题目1209:最小邮票数
- 九度OJ 题目1209:最小邮票数
- 九度 oj 题目1209:最小邮票数
- 1209_最小邮票数
- 九度oj 题目1209:最小邮票数 (01背包)
- 九度OJ 1209: 最小邮票数
- 最小邮票数(九度1209)
- linux命令
- PO,VO,TO,BO,DAO,POJO 解释
- 设计模式C++实现(2)——策略模式
- OI经典问题与基本模型
- Echop - 数据库表结构
- 题目1209:最小邮票数
- 云监控资料收集
- 民航接口
- Java操作XML文件
- Spring Security教程(3)---- 自定义登录页面
- perl对中文的处理
- 记住登录状态的安全做法
- 第七章 软件编码
- LayoutInflater的inflate函数用法详解