CD UVA - 624 ————01背包(寻找路径)

升降机SEW MOVIDRIVE变频器设置 选择PO1 第2,3,9,13 位,点击“SendPA”Start reference,编码器反馈值为0(PI2/3 Actual position=0)提示:传送参考位置前请断开变频器安全24V电源,否则会弹出禁止修改提示框;提示:做这一步时,如果出现电机不能转动,或产生报警不能通过编码器匹配。下载配置的参数,提示:下载参数需要断开变频器的安全24V电源。编码器匹配通过后点击下一步,进入下图画面传送参考位置。1电机不能转动:a可能是由于变频器的安全24V未给。点击2.SEW总线扩展定位,定位块设置。 阅读详情

You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape N minutes long. How to choose tracks from CD to get most out of tape space and have as short unused space as possible.

Assumptions:

number of tracks on the CD. does not exceed 20
no track is longer than N minutes
tracks do not repeat
length of each track is expressed as an integer number
N is also integer
Program should find the set of tracks which fills the tape best and print it in the same sequence as the tracks are stored on the CD

Input
Any number of lines. Each one contains value N, (after space) number of tracks and durations of the tracks. For example from first line in sample data: N=5, number of tracks=3, first track lasts for 1 minute, second one 3 minutes, next one 4 minutes

Output
Set of tracks (and durations) which are the correct solutions and string “sum:” and sum of duration times.

Sample Input
5 3 1 3 4
10 4 9 8 4 2
20 4 10 5 7 4
90 8 10 23 1 2 3 4 5 7
45 8 4 10 44 43 12 9 8 2
Sample Output
1 4 sum:5
8 2 sum:10
10 5 4 sum:19
10 23 1 2 3 4 5 7 sum:55
4 10 12 9 8 2 sum:45


这题让找的是01背包的路径,是一个很好的题,能够加深自己对背包问题的转移过程的理解,
寻找背包路径的过程的重点代码:

        for(int i=n-1;i>=0;i--)
            for(int j=W;j>=v[i];j--)
                if(dp[j-v[i]]+v[i]>dp[j])
                {
                    dp[j]=dp[j-v[i]]+v[i];//这道题价值和重量是一样的
                    vis[i][j]=1;    
                }
        int j=W;//刚开始是最大重量的时候
        for(int i=0;i<n;i++)
        {
            if(vis[i][j])//如果物品被放入背包
            {
                printf("%d ",v[i]);//按照正序输出(拿出)背包里物品的重量/价值
                j -= v[i];  //让背包减去拿出去的物品
            }   

ACcode:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN=100000+7;
int dp[MAXN];
bool vis[25][MAXN];
int n,W,v[MAXN];
int main()
{
    while(~scanf("%d %d",&W,&n))
    {
        for(int i=0;i<n;i++)
            scanf("%d",&v[i]);
        memset(dp,0,sizeof(dp));
        memset(vis,0,sizeof(vis));
        for(int i=n-1;i>=0;i--)
            for(int j=W;j>=v[i];j--)
                if(dp[j-v[i]]+v[i]>dp[j])
                {
                    dp[j]=dp[j-v[i]]+v[i];
                    vis[i][j]=1;    
                }
        int j=W;
        for(int i=0;i<n;i++)
        {
            if(vis[i][j])
            {
                printf("%d ",v[i]);
                j -= v[i];  
            }   
        } 
        printf("sum:%d\n",dp[W]);

    }
    return 0;
}

智慧加油站小程序数据库设计文档 【代码】智慧加油站小程序数据库设计文档。 阅读详情

相关推荐

Windows下的Geant4安装教程

本教程将从0开始展示在Windows下如何安装Geant4,包括各种辅助工具(QT、Cmake、Visual Studio)的下载安装,环境变量的配置,以及example的生成等。

weixin_49065278的博客 4112

UVA - 624 (01背包)

You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is onCDs. You need to have it on tapes so the problem to solve is: you have a tape N minutes long. Howto...

dsaghjkye的博客 408

TSMC65nm工艺下Virtuoso仿真gm-id曲线的保姆级教程(含ADE设置详解)

本文提供了一份在TSMC 65nm工艺下使用Cadence Virtuoso绘制gm-id曲线的详细教程。内容涵盖从理解gm/id方法学、搭建仿真环境、深度解析ADE设置,到运行DC仿真、提取数据并生成对数坐标曲线的完整流程。教程重点解析了Virtuoso ADE中的关键设置与常见避坑点,旨在帮助模拟集成电路设计初学者快速掌握这一核心设计工具,为高性能电路设计奠定基础。

grpc6streamer的博客 1174

UVA 624 - CD(01背包)

You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape N minutes long. How

Halo 773

nbiot和2g_浅谈NBIOT

一、什么是NBIOT?1、概念窄带物联网(Narrow Band Internet of Things, NB-IoT),NB-IoT构建于蜂窝网络,只消耗大约180KHz的带宽,使用License频段,可采取带内、保护带或独立载波等三种部署方式,与现有网络共存。可直接部署于GSM网络、UMTS网络或LTE网络,以降低部署成本、实现平滑升级。2、NBIOT的特点和目标(1)超强覆盖:相对GPRS来...

weixin_39534100的博客 1704

Qt垂直滚动条QVerticalScrollBar详解:从基础到实战的控件开发指南

本文系统解析Qt中QVerticalScrollBar的用法,从基础概念到进阶技巧。主要内容包括:1)基础认知:介绍其继承关系、作用及典型应用场景;2)核心用法:创建方法、关键属性配置和信号槽连接;3)进阶技巧:自定义样式表美化外观,以及与自定义内容区域的联动实现;4)实战注意事项,如避免循环触发和高DPI适配等。文章强调掌握QVerticalScrollBar对提升Qt滚动类功能开发效率的重要性,并建议通过自定义文本编辑器实践巩固知识点。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 759

E-CD(01背包+记忆化搜索)

You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape N minutes long. How to choose tracks from CD to get most out of tape space a

weixin_45666296的博客 514

风机叶片小规模振动监测数据集--读取测试

ETH风电叶片缺陷数据集–读取测试 数据简介 提示:这里可以添加本文要记录的大概内容: 结构健康监测是保障重要机电设备、建筑设施健康的重要技术手段。 一、lvm_read包安装 示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务

cnjs1994的博客 2851

UVA624 (01背包问题+打印路径)

UVA624 题目链接:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=565 You have a long drive by car ahead. You have a tape recorder, but unfortunately ...

Dejavu的博客 441

手把手教你使用YOLOv11完成人脸分类识别,YOLOv11人脸识别,解决中文乱码问题,全网最详细教程

手把手教你使用YOLOv11完成人脸分类识别,YOLOv11人脸识别,解决中文乱码问题,全网最详细教程

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 4447

AutoSAR配置视频讲解:新建DaVinci工程

AutoSAR实验视频讲解:闪烁一颗LED实验【新建DaVinci工程】 上一篇 | 下一篇 | 总目录 实验架构图 视频本频放在了文末,下图描述了本次实验配置内容在AutoSAR架构中的位置,供大家参考 实验内容 本节课程讲解新建DaVinci工程,听上去新建工程很简单,但是还是需要很多的准备工作和细节。主要内容是新建工程和导入dbc文件和导入arxml文件的方法 主要步骤 新建DaVinci工程 导入.dbc通信矩阵文件 导入Mcal的arxml文件 实验视频2:Mcal配置 提示:版权所在,违

雪云飞星的博客 6276

uva624-CD(背包)

题目: CD  You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have

小爱的专栏 845

光学传播仿真软件:SPEOS_(14).建筑物内光环境仿真

在建筑物内光环境仿真中,材料属性的定义直接影响光的传播和反射效果。SPEOS提供了丰富的材料库,但也可以自定义材料属性以满足特定需求。创建新材料选择Materials->。输入材料名称和类型。配置材料属性选择材料对象,打开属性编辑器。设置反射率、透射率、表面粗糙度和颜色。# 导入SPEOS模块# 创建新材料# 配置材料属性custom_material.set_reflectivity(0.8) # 设置反射率为0.8。

kkchenjj的博客 1249

uva624-CD (01背包的路径记录)

uva624-CD (01背包的路径记录) 关于背包的路径记录,我一直有疑问,现在在大佬博客中看到了比较好的代码; 题目很简单,难点就是在记录路径上。首先我们使用最朴素的方式求出最优解,然后开始处理路径问题。 我们可以将这个处理方式看作背包的逆过程(将物品一件一件地拿出来)对于一个物品, 若 dp[ i ][ c ] != dp[ i - 1 ][ c ] 则我们可以认定第i号物品被使用了,上...

平凡人Kalzn的博客 245

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

UVA 624——CD【01背包 + 打印路径】

题目传送门 题意: 有N个物品,每个物品一个重量,现在问你在重量不超过W的前提下,如何选物品可以使得装的物品尽量多,并且要按输入顺序输出被装入的物品,已经总重量sum. 分析: 基础的01背包,但是要打印路径。 dp[i - 1][j]表示在前i - 1件物品中选取若干物品放入容量为j背包所得到的最大的价值,dp[i - 1][j - w[i]] + v[i]表示前i - 1件物品中选取若干物品...

NIRVANA REBIRTH 276

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

CD UVA - 624(01背包+记忆路径)

CD 题目链接: UVA - 624题意: 一个轨道长度为n的CD, k首歌, 每首歌的长度不同, 问这张CD上最多能刻录多长的歌曲, 歌曲必须被整首刻录;最后输出CD上所刻的歌曲及总长...

Sirius_han的博客 283

UVA 624 CD(01背包)(记录路径)

#include<iostream> #include<string.h> using namespace std; int a[10009];int dp[10009];int vis[25][10009]; int main(){ int n;int N; while(~scanf("%d",&N)){ memset(dp,0,sizeof(dp));...

Ellery的book 183

[UVA - 624] CD (记录路径的01背包)

链接 https://vjudge.net/problem/UVA-624 题意 nnn个数字,每个数字使用一次,求不超过mmm的最大和为多少,并把组成这个最大和的数字输出出来; 分析   这是一个01背包,背包容积为mmm,物品为数字,体积和价值均为数字大小;这里需要记录路径,方法很多,如果相邻两个阶段之间发生了转移(选取了该物品,就说明使用了该物品,从最后一个阶段向前找); 代码 #inc...

梧桐 285

UVA 624 CD ( 01背包 + 逆推路径)

CD You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape 

【落~风~月】 770

CD//UVA - 624//记录路径的01背包

CD//UVA - 624//记录路径的01背包 题目 You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you hav...

salty_fishman的博客 281

UVA 624 CD(01背包/记录路径)

题目链接: UVA 624 CD 题意: 给出n个物品和总价值P,每个物品有一个价值,输出由这些物品组成价值和最接近P的价值(不能超过P)和和这些物品编号。 如果有多种方案任意输出一种。 分析: ①:先用类似01背包的思路对小于等于P的价值和进行可行性分析,然后找到最大能组成的合法价值和。根据这个价值和对原来的物品 dfs搜索。 ②:在找最大价值的过程中记录组成价值和的最后一件商品编

ramay7 596

UVA 624 CD 01背包加路径记录问题

其实按照题目来后 我们直接可以写一个裸的01背包,但是就是路径不知道怎么记录。 我们知道动态规划的本质就是用空间换时间的方法,所以他是一个表。我们可以开一个vis的二维数组表,把算出来的值记录进去。 然后把vis数组倒着遍历一遍就可以了。 为什么要倒着,应为我们dp表中有很多算出来的中间值不一定是我们要求的最优值,但是我们最后用01背包算出来的值肯定是最优值,我们把算出来的最优值减去val数...

qq_40620465的博客 232

CD/UVA 624/DP

CD/UVA 624/DP 题目 You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape N m...

weixin_45600829的博客 148

uva 624 CD(01背包问题)输出最小字典序是个问题虽然题目不要求

此题就是赤裸的01背包问题,不过路径是个问题,一开始用

glq007的acm的奋斗 1288

UVa 624 CD(01背包)

题目链接:传送门       做这道题的时候不知道怎么输出路径,然后我就很麻烦的先用01背包把能装下的最大值求出来,然后用这个最大值去用递归输出路线,很麻烦,然后看了别人的代码,发现可以在更新dp[j]的值的时候记录下当前的dp[i][j]。先上之前的我写的递归输出路径的代码:AC代码:#include &lt;iostream&gt; #include &lt;cstdio&gt; #inclu...

Charles_Zaqdt的博客 476

Uva624(记录路径的01背包)

地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=565&mosmsg=Submission+received+with+ID+12553016 624 - CD Time limit: 3.000 seconds

ten_three 1261

CD UVA - 624

一、内容 You have a long drive by car ahead. You have a tape recorder, but unfortunately your best music is on CDs. You need to have it on tapes so the problem to solve is: you have a tape N minutes long...

Tizzi的博客 687
上一篇: HDU - 1312 Red and Black————搜索
下一篇: Dividing coins UVA - 562 ————01背包(平分硬币)
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值