UVA--624 CD(01背包+路径输出)
题目http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=565
#include<stdio.h>
#include<string.h>
int C,dp[21][100000];
int main()
{
  int N,m[22];
  while (scanf("%d%d",&C,&N)!=EOF)
  {
    for(int i=1;i<=N;i++)
      scanf("%d",&m[i]);
      for(int j=0;j<=C;j++)
      {
        if(j>=m[1]) dp[1][j]=m[1];
        else        dp[1][j]=0;
      }
    //递推
    for(int i=2;i<=N;i++)
      for(int j=0;j<=C;j++)
       {
         if(j>=m[i]&&dp[i-1][j]<dp[i-1][j-m[i]]+m[i])
            dp[i][j]=dp[i-1][j-m[i]]+m[i];
         else
            dp[i][j]=dp[i-1][j];
       }
    //输出集合,倒推
    int i=N,j=C;
    while(i)
    {
      if(dp[i-1][j]!=dp[i][j])
      {
        printf("%d ",m[i]);
        j-=m[i];
      }
      i--;
    }
    printf("sum:%d\n",dp[N][C]);
  }
  return 0;
}
UVA--624 CD(01背包+路径输出)的更多相关文章
- UVA 624 ---CD  01背包路径输出
		
DescriptionCD You have a long drive by car ahead. You have a tape recorder, but unfortunately your b ...
 - UVA 624 - CD (01背包 + 打印物品)
		
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...
 - uva 624 CD 01背包打印路径
		
// 集训最终開始了.来到水题先 #include <cstdio> #include <cstring> #include <algorithm> #includ ...
 - UVA 624 CD (01背包)
		
//路径记录方法:若是dp[j-value[i]]+value[i]>dp[j]说明拿了这个东西,标志为1, //for循环标志,发现是1,就打印出来,并把背包的容量减少,再在次容量中寻找标志: ...
 - UVA 624 CD[【01背包】(输出路径)
		
<题目链接> 题目大意: 你要录制时间为N的带子,给你一张CD的不同时长的轨道,求总和不大于N的录制顺序 解题分析: 01背包问题,需要注意的是如何将路径输出. 由于dp时是会不断的将前面 ...
 - UVA 624 CD(01背包+输出方案)
		
01背包,由于要输出方案,所以还要在dp的同时,保存一下路径. #include <iostream> #include <stdio.h> #include <stri ...
 - uva 624 CD (01背包)
		
CD You have a long drive by car ahead. You have a tape recorder, but unfortunately your best musi ...
 - UVA 624 CD(DP + 01背包)
		
CD You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music i ...
 - uva624 CD (01背包+路径的输出)
		
CD Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu Submit Status Practice UVA 624 ...
 
随机推荐
- SQL一些记录
			
1,2字段约束create unique index [索引名] on 软件信息表(S_SName,S_Edition)
 - Java 虚拟机 - 2.3 HotSpot虚拟机对象
			
对象的创建 Step1 类加载检查 当发现一条new指令时,检查: 该指令的参数是否能在常量池中定位到一个类的符号引用: 并且检查这个符号引用代表的类是否已经被加载.解析和初始化过.如果没有,那必须先 ...
 - 配置文件一mapper.xml
			
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-/ ...
 - python使用PIL处理图片后返回给前端的坑
			
一.python代码 这里有个坑,之前没有将bytes图片数据转成base64就返回到前端了,但在前端处理的时候,怎么都显示不出图片来,虽然数据拿到了,但bytes被传到前后变str了,所以怎么搞都没 ...
 - mvc和mvvm区别
			
mvc和mvvm区别 MVC和MVVM的区别其实并不大.都是一种设计思想. 主要就是MVC中Controller演变成MVVM中的viewModel. MVVM主要解决了MVC中大量的DOM操作使页面 ...
 - error C2872: 'ULONG_PTR' : ambiguous symbol
			
转自VC错误:http://www.vcerror.com/?p=74 问题描述: 错误:error C2872: 'ULONG_PTR' : ambiguous symbol 解决方法: 详细的解决 ...
 - linux学习(五)-----组管理和权限管理
			
Linux 组基本介绍 在 linux 中的每个用户必须属于一个组,不能独立于组外.在 linux 中每个文件有所有者.所在组.其它组的概念. 1)所有者 2)所在组 3)其它组 4)改变用户所在的组 ...
 - 修改sql server表字段的字符串
			
网站标题被注入黑链接,使用sql脚本update修改字段内的字符串截取UPDATE [qds0460132_db].[dbo].[Blood_News] SET [Blood_Name] = SU ...
 - 07_mybatis延迟加载
			
1. 延迟加载  resultMap可以实现高级映射(使用association.collection实现一对一及一对多映射),association.collection具备延迟加载功能. 需求: ...
 - Startup里面的一些用法
			
using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; usi ...