装载问题(回溯法)

#include<iostream>
using namespace std;
int n;//货物的数量
int c;//轮船的总的载重量
int cw;//轮船当前的载重量
int r;//货物的总重量
int w[1000];//n个货物各自的重量
int x[1000];//当前最优解
int bestx[1000];//最优解
int bestw;//货物的最优载重量
void BackTrack(int s)
{
    if(s>n)
    {
        if(cw>bestw)
        {
            bestw=cw;
            for(int i=1;i<=n;i++)
                bestx[i]=x[i];
        }
        return ;
    }
    r-=w[s];
    if(cw+w[s]<=c)
    {
        x[s]=1;
        cw+=w[s];
        BackTrack(s+1);
        cw-=w[s];
    }
    if(cw+r>bestw)
    {
        x[s]=0;
        BackTrack(s+1);
    }
    r+=w[s];
}
int main()
{
    cout<<"轮船的总载重量:";cin>>c;
    cout<<"货物的数量:";cin>>n;
    cout<<"货物各自的重量:";
    for(int i=1;i<=n;i++)
    {
        cin>>w[i];
        r+=w[i];
    }
    BackTrack(1);
    cout<<"货物的最优载重量:"<<bestw<<endl;
    cout<<"最优解:"<<endl;
    for(int i=1;i<=n;i++)
        cout<<bestx[i];
    cout<<endl;
    for(int i=1;i<=n;i++)
        if(bestx[i]==1)
            cout<<i<<" ";
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/756847.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

os实训课程模拟考试(大题复习)

目录 一、Linux操作系统 &#xff08;1&#xff09;第1关&#xff1a;Linux初体验 &#xff08;2&#xff09;第2关&#xff1a;Linux常用命令 &#xff08;3&#xff09;第3关&#xff1a;Linux 查询命令帮助语句 二、Linux之进程管理—&#xff08;重点&#xff09; &…

论文翻译 | PRCA:通过可插拔奖励驱动的上下文适配器拟合用于检索问答的黑盒大语言模型

摘要 检索问答(ReQA)任务采用检索增强框架&#xff0c;该框架由检索器和生成器组成。 生成器根据检索器检索到的文档制定答案。将大型语言模型(llm)作为生成器是有益的&#xff0c;因为它们具有先进的QA功能&#xff0c;但它们通常太大而无法根据预算限制进行微调&#xff0c;而…

RpcRrovider分发rpc服务(OnMessage和Closure回调)

目录 1.完善rpcprovider.cc的OnConnection 2.完善rpcprovider.cc的OnMessage 3.完整rpcprovider.h 4.完整rpcprovider.cc 这篇文章主要完成&#xff0c;protobuf实现的数据序列化和反序列化。 1.完善rpcprovider.cc的OnConnection rpc的请求是短连接的&#xff0c;请求一次…

Java--回顾方法的调用

1.静态方法与非静态方法 1.当二者皆为静态方式时&#xff0c;可直接类名.方法名调用其方法 2.当调用的方法是静态&#xff0c;被调用的方法为非静态时&#xff0c;调用将会报错 3.出现2情况可通过进行实例化这个类的方式进行调用&#xff0c;如图所示 4.当处于一个类下&#xf…

如何把项目文文件/文件夹)上传到Gitee(全网最细)

目录 1、首先必须要有一个Gitee官网的账号 2、点击右上角的号&#xff0c;点击新建仓库 3、按照下图步骤&#xff0c;自己起仓库名字&#xff0c;开发语言 4、点击初始化readme文件 5、在自己的电脑上选择姚上传的文件夹&#xff0c;或者文件&#xff0c;这里都是一样的&a…

新奥集团校招面试经验分享、测评笔试题型分析

一、走进新奥集团 新奥集团成立于1989年&#xff0c;总部位于河北廊坊&#xff0c;是中国领先的清洁能源企业集团。业务涵盖城市燃气、能源化工、环保科技等多个领域&#xff0c;致力于构建现代能源体系&#xff0c;提升生活品质。 二、新奥集团校招面试经验分享 新奥集团的…

哥斯拉短视频:成都柏煜文化传媒有限公司

哥斯拉短视频&#xff1a;巨兽传奇的视听盛宴 在短视频的海洋中&#xff0c;成都柏煜文化传媒有限公司 有一种特殊的存在总能吸引人们的目光&#xff0c;那就是以哥斯拉为主题的短视频。这些视频以震撼的视觉效果、扣人 ​心弦的剧情和独特的怪兽文化&#xff0c;为我们呈现了…

UE5基本操作(二)

文章目录 前言相机的移动速度修改默认地图使用初学者内容包文件夹结构 总结 前言 在我们的上一篇文章中&#xff0c;我们已经介绍了一些Unreal Engine 5&#xff08;UE5&#xff09;的基本操作。UE5是一款强大的游戏开发引擎&#xff0c;它提供了许多工具和功能&#xff0c;使…

C++进阶

C进阶 一、细节1.cout与输出缓冲区2.constexpr3.NULL和nullptr是不同的类型4.关于inline5.函数杂合用法6.const char*、char const*、char * const7.进程地址空间&#xff0c;所谓静态区常量区不准8.位运算9.多态9.1 内存切片9.2 转型9.3 构造函数和析构函数里是静态绑定9.4 dy…

如何将Hive表的分区字段插入PG表对应的时间戳字段?

文章目录 1、背景描述2、场景分析 1、背景描述 数据仓库的建设通常是为业务和决策服务的。在数仓开发的应用层阶段&#xff0c;BI可以直接从主题层/业务层取数&#xff0c;而前端需要根据具体的作图需求通过后端查询数据库 作图的指标需要根据主题层/业务层做查询计算&#xf…

C#——SortedList 排序列表详情

SortedList 排序列表 SortedList 类用来表示键/值对的集合&#xff0c;这些键/值对按照键值进行排序&#xff0c;并且可以通过键或索引访问集合中的各个项。 我们可以将排序列表看作是数组和哈希表的组合&#xff0c;其中包含了可以使用键或索引访问各项的列表。如果您使用索…

文章分享 | seq-DAP-seq和ChIP-seq联合检测揭示花发育器官转录因子调控机制

技术简介 MADS转录因子的同源蛋白SEPALLATA3 (SEP3)和AGAMOUS (AG)是调控拟南芥花发育分化的重要DNA结合蛋白。在雌蕊发育阶段&#xff0c;SEP3和AG形成异源四聚体&#xff0c;通过识别CArG-box序列来调控基因的表达。Seq-DAP-seq技术与ChIP-seq联合使用&#xff0c;可用于分析…

无需向量量化的自回归图像生成

摘要 https://arxiv.org/pdf/2406.11838 传统观点认为&#xff0c;用于图像生成的自回归模型通常伴随着向量量化的标记。我们观察到&#xff0c;尽管离散值空间可以方便地表示分类分布&#xff0c;但它对于自回归建模来说并不是必需的。在这项工作中&#xff0c;我们提出使用扩…

Kafka入门-分区及压缩

一、生产者消息分区 Kafka的消息组织方式实际上是三级结构&#xff1a;主题-分区-消息。主题下的每条消息只会保存在某一个分区中&#xff0c;而不会在多个分区中被保存多份。 分区的作用就是提供负载均衡的能力&#xff0c;或者说对数据进行分区的主要原因&#xff0c;就是为…

spring和springboot的关系是什么?

大家好&#xff0c;我是网创有方的站长&#xff0c;今天给大家分享下spring和springboot的关系是什么&#xff1f; Spring和Spring Boot之间的关系可以归纳为以下几个方面&#xff1a; 技术基础和核心特性&#xff1a; Spring&#xff1a;是一个广泛应用的开源Java框架&#…

我们后端程序员不是操作MyBatis的CRUD Boy

大家好&#xff0c;我是南哥。 一个对Java程序员进阶成长颇有研究的人&#xff0c;今天我们接着新的一篇Java进阶指南。 为啥都戏称后端是CRUD Boy&#xff1f;难道就因为天天怼着数据库CRUD吗&#xff1f;要我说&#xff0c;是这个岗位的位置要的就是你CRUD&#xff0c;你不…

JeecgBoot中如何对敏感信息进行脱敏处理?

数据脱敏即将一些敏感信息通过加密、格式化等方式处理&#xff0c;展示给用户一个新的或是格式化后的信息&#xff0c;避免了敏感信息的暴露。 一、接口脱敏注解 针对接口数据实现脱敏加密&#xff0c;只加密&#xff0c;一般此方案用于数据加密展示。 1.1 注解介绍 注解作用域…

Qt信号槽的坑

1、重载的信号&#xff08;以QSpinBox为例&#xff09; 像是点击按钮之类的信号槽很好连接&#xff0c;这是因为它的信号没有重载&#xff0c;如果像SpinBox那样有重载信号的话&#xff08;Qt5.12的见下图&#xff0c;不过Qt5.15LTS开始就不再重载而是换信号名了&#xff09;&…

Linux常用命令大全(超详细!!!)

文章目录 1.Linux是什么1.1 关于Linux我们主要学习什么1.1 学习Linux常见命令的前置知识 2. Linux常见命令2.1 ls命令2.2 cd命令2.3 pwd命令2.4 touch命令2.5 cat命令2.6 echo命令2.7 vim命令2.8 mkdir 命令2.9 rm命令2.10 cp命令2.11 mv命令2.12 grep命令2.13 ps命令2.14 nets…

<Python><ffmpeg>基于python使用PyQt5构建GUI实例:音频格式转换程序(MP3/aac/wma/flac)(优化版2)

前言 本文是基于python语言使用pyqt5来构建的GUI,功能是使用ffmpeg来对音频文件进行格式转换,如mp3、aac、wma、flac等音乐格式。 UI示例: 环境配置 系统:windows 平台:visual studio code 语言:python 库:pyqt5、ffmpeg 概述 本文是建立在之前的博文的基础上的优化版…