01背包+状态压缩 Relocation POJ - 2923

状态压缩DP 包含状态压缩DP的原理及经典例子,感兴趣的同学可以下载 立即下载

Relocation POJ - 2923

题意: 有 n 个货物,并且知道了每个货物的重量,每次用载重量分别为c1,c2的火车装载,问最少需要运送多少次可以将货物运完。
(自然自己不会,转别人的)
分析: 找出所有状态(1…..(1<

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<queue>
#include<string>
#include<cstring>
#include<iomanip>
#include<iostream>
#include<stack>
#include<cmath>
#include<map>
#include<vector>
#define ll long long
#define inf 0x3f3f3f3f
#define bug1 cout<<"bug1"<<endl;
#define bug2 cout<<"bug2"<<endl;
#define bug3 cout<<"bug3"<<endl;
using namespace std;
int vis[1030];
int w[110];
int dp[1030];
int state[1030];
int n,c1,c2;
bool judge(int x){
    int cost=0;
    memset(vis,0,sizeof(vis));
    vis[0]=1;
    for(int i=0;i<n;++i){
        if(x&(1<<i)){
            cost+=w[i];
            for(int j=c1;j>=w[i];j--){
                if(vis[j-w[i]])//vis[j]表示的是c1可以独自带走价值总和为j的物品(无法分割)//这也可以是一道题)
                    vis[j]=1;
            }
        }
    }
    if(cost>c1+c2)return false;
    for(int i=0;i<=c1;++i){
        if(vis[i]&&cost-i<=c2)
            return true;
    }
    return false;
}

int main(){
    int t;
    scanf("%d",&t);
    int _case=0;
    while(t--){
        scanf("%d%d%d",&n,&c1,&c2);
        for(int i=0;i<n;++i){
            scanf("%d",&w[i]);
        }
        memset(dp,inf,sizeof(dp));
        memset(state,0,sizeof(state));
        dp[0]=0;
        int tol=0;
        for(int i=1;i<(1<<n);++i){
            if(judge(i))state[++tol]=i;
        }
        for(int i=1;i<=tol;++i){
            for(int j=(1<<n)-1;j>=0;j--){
                if(dp[j]==inf)continue;
                if((j&state[i])==0){
                    dp[j|state[i]]=min(dp[j]+1,dp[j|state[i]]);
                }
            }
        }
        printf("Scenario #%d:\n%d\n\n",_case,dp[(1<<n)-1]);

    }
}
离线安装ambari 更换spark版本 集成carbondate文档 1、Linux系统环境配置 1.1 配置IP地址 vim /etc/sysconfig/network-script/ifcfg-eth0 “DEVICE”:网卡对应的设备别名,如ifcfg-eth0第一块网卡; “HWADDR”:网卡物理地址; “BOOTPROTO”:网卡获得ip地址的方式,Static(静态 ip地址)dhcp(通过dhcp协议获取ip)bootip通过boot... 阅读详情

相关推荐

RK3588零拷贝视频流水线实战:用GStreamer+Mpp实现8K硬解与DRM显示

本文深入探讨了在RK3588平台上构建零拷贝视频流水线的工程实践。通过结合GStreamer与MPP,实现了从8K视频硬解到DRM显示的全流程硬件加速,有效解决了高分辨率视频处理中的DDR带宽瓶颈问题。文章详细解析了dma-buf数据流机制、管道构建与性能优化策略,为多路视频并发处理提供了高效的系统架构解决方案。

github5actions的博客 1169

POJ - 2923 (01背包,状态压缩)

题意:有n件物品,每件容量为wi,有容量分别为c1,c2的两辆车,问最少要几次才能将这些物品运完; 思路:先用状态压缩将一次能运走的物体压缩成一个状态,将问题转换成01背包;#include<iostream> #include<algorithm> #include<string> #include<cstring> #include<map> #include<queue> #include<

题目实力吊打我,怎么能说我菜 418

CentOS 7下glibc升级到2.28的保姆级避坑指南(含GCC 7.3.1编译配置)

本文详细介绍了在CentOS 7系统中将glibc升级到2.28版本的完整流程,包括GCC 7.3.1的编译配置、环境变量设置、glibc编译的细节处理以及生产环境验证。文章特别强调了风险控制和避坑技巧,适用于需要提升系统兼容性的企业级用户。

weixin_29611239的博客 408

01背包状态压缩内层循环逆序原因(图文并茂,通俗易懂)

01背包状态压缩内层循环逆序原因01背包简介动态规划递推公式及一维数组实现内层循环逆序原因 01背包简介 01背包问题指有N件物品和一个容量为V的背包,每件物品都有一个价值和一个体积,目的是使用容量为V的背包装价值尽可能大的物品。01背包问题时最典型的动态规划问题之一,掌握01背包问题的动态规划解法很重要。 动态规划递推公式及一维数组实现 动态规划解法:定义一个二维数组dp,dp的第一维用于枚举物品数量,第二位用于枚举容量,所以dp[i][j]代表:在前i件物品中选取总容量不超过j的物品能够获得的最大价值。

m0_46379909的博客 3153

Flink CDC 实战:5分钟搞定PostgreSQL数据实时同步(附避坑指南)

本文详细介绍了如何使用Flink CDC实现PostgreSQL数据的实时同步,包括环境配置、逻辑复制槽创建、Flink环境搭建及实战验证。通过5分钟快速指南,帮助开发者高效搭建实时数据管道,并提供了常见问题排查和生产环境优化建议。

red88的博客 819

AI人工智能全模态大模型架构:推动智能交通发展的架构设计

本文旨在阐述全模态大模型在智能交通领域的架构设计原理和应用方法。我们将探讨如何利用多模态AI技术解决交通流量预测、事故预警、路线优化等关键问题。文章将从基础概念入手,逐步深入技术细节,最后探讨实际应用和未来发展方向。全模态大模型:能够处理和理解多种数据模态(如图像、文本、语音等)的大型AI模型智能交通系统(ITS):利用先进技术优化交通流量和安全性的综合系统多模态融合:将不同数据源的信息整合处理的技术核心概念回顾全模态大模型是能够处理多种数据类型的强大AI系统。

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 834

状态压缩技巧总结(01背包)

01背包,动态规划、状态压缩

qq_41777702的博客 901

中国主要湖泊水库面状矢量边界图层ArcGIS应用实战:从数据获取到专题图制作

本文详细介绍了中国主要湖泊水库面状矢量边界图层在ArcGIS中的实战应用,从数据获取到专题图制作的全流程。涵盖官方数据源、科研机构共享数据及商业平台的选择,以及ArcGIS中的数据处理、拓扑错误修正和专题图设计技巧,帮助用户高效完成湖泊水库的空间分析与可视化。

weixin_33672400的博客 254

poj 2923 Relocation(DP+状态压缩+01背包)

Relocation Time Limit:1000MS Memory Limit:65536K Total Submissions:1411 Accepted:574 Description Emma and Eric are moving to their new house they bough...

weixin_30570101的博客 264

HyperLynx(十四)高级分析技术

如果没有查找到该模型,可使用菜单命令“Setup”→“Options”→“Directories”,打开“Set Directories”对话框,单击“Edit”按钮,在“Select Directories for IC-Model Files”对话框中将路径“…在“Assign Models”对话框中的“Port”栏找到“OUTM”端口,在其对应的“Circuit Connection”栏中选择“txout”项。将端口R75连接到“Gnd”。同样,将“EMP”连接到“V”,完成预加重设置。...

小幽余生不加糖 4948

第16课:动手实战中文句法依存分析

句法分析是自然语言处理(NLP)中的关键技术之一,其基本任务是确定句子的句法结构或者句子中词汇之间的依存关系。主要包括两方面的内容:一是确定语言的语法体系,即对语言中合法句子的语法结构给予形式化的定义;另一方面是句法分析技术,即根据给定的语法体系,自动推导出句子的句法结构,分析句子所包含的句法单位和这些句法单位之间的关系。 句法分析被用在很多场景中,比如搜索引擎用户日志分析和关键词识别,比如信息抽...

春华秋实 2437

详解动态规划之01背包问题及其空间压缩(图文并茂+例题讲解)

总而言之,言而总之。动态规划问题的核心是利用空间换取时间,将曾经经过的状态保存下来,当在往后的遍历中如果需要该状态就不必再次重复一遍,只需直接访问当时的状态结果即可。而滚动数组的用法很巧妙地将上一层地状态保存下来的同时完成了对当前状态的更新。希望此文章会对您对动态规划的学习有一定帮助~

codekingo的博客 1672

【Python基础】FastAPI 从入门到项目实战操作详解

【Python基础】FastAPI从入门到使用实战操作详解

congge_study的博客 441

poj2923 Relocation(状态压缩+01背包)

poj2923分析首先找出所有可行的状态,再进行01背包找最小值。对于可行的状态的判断函数,我觉得也是用了背包的思想,下一个可行的状态由之前的可行状态得出,先将一辆车所有可行状态标记为一,然后结合2车判断这个状态到底行不行。题目http://poj.org/problem?id=2923代码#include <iostream> #include <cstdio> #include <cstring

天道酬勤 558

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

poj 2923 Relocation 状态压缩01背包

#include #include #define INF 1<<30 int dp[1<<10]; int w[20],n,a,b; int t[1<<10]; int min(int a,int b) { return a>b?b:a; } int find(int r) { int i,j,val; int vis[1<<10]; memset(vis,0,s

yan_____的专栏 576

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

解题报告:POJ_2923 Relocation 状态压缩+01背包

Description Emma and Eric are moving to their new house they bought after returning from their honeymoon. Fortunately, they have a few friends helping them relocate. To move the furniture, they o

Hee的博客~ 562

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

POJ 2923 Relocation(状态压缩+01背包)

Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2363   Accepted: 978 Description Emma and Eric are moving to their new house they bought after returning from their

Algobird 518

poj 2923 Relocation(状态压缩加上01背包)

做此题前压根不懂状态压缩是

glq007的acm的奋斗 1133

POJ 2923 Relocation(状态压缩+ 01背包)

Description Emma and Eric are moving to their new house they bought after returning from their honeymoon. Fortunately, they have a few friends helping them relocate. To move the furniture, they onl

蘑菇--走在通往梦想的道路上。 603

POJ - 2923 Relocation 状态压缩+ 01背包

POJ - 2923Relocation Emma and Eric are moving to their new house they bought after returning from their honeymoon. Fortunately, they have a few friends helping them relocate. To move the ...

aitang6631的博客 191

POJ 2923 Relocation ★(状态压缩+01背包)

题目大意:有n个物品,有两辆车载重分别是c1,c2.问需要多少趟能把物品运完。 好题~用到状态压缩思想的01背包。 先枚举选若干个时的状态,总状态量为1<<n,判断集合里的物品能否用两辆车一次运走,如果能运走,那就把这个状态看成一个物品。预处理完找到tot个物品,再对这tot个物品进行01背包处理,每个物品的体积是state[i],价值是1,求必选n个物品的最少价值。 ...

weixin_30888707的博客 165

poj 2923 Relocation(状态压缩+01背包)

Relocation Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 1846   Accepted: 763 Description Emma and Eric are moving to their new house they bought after ret

WEYuLi的专栏 1051

POJ-2923 Relocation---01背包+状态压缩

题目链接: https://vjudge.net/problem/POJ-2923 题目大意: 有n个货物,给出每个货物的重量,每次用容量为c1,c2的火车运输,问最少需要运送多少次可以将货物运完 思路: 第一次做状态压缩(状态压缩基础知识传送门) 本题的解题思路是先枚举选择若干个时的状态,总状态量为1<<n,判断这些状态集合里的那些物品能否一次就运走,如果能运走,那就把这...

weixin_34194087的博客 194

POJ 2923 Relocation(01背包变形, 状态压缩DP)

Q: 如何判断几件物品能否被 2 辆车一次拉走? A: DP 问题. 先 dp 求解第一辆车能够装下的最大的重量, 然后计算剩下的重量之和是否小于第二辆车的 capacity, 若小于, 这 OK.   Description Emma and Eric are moving to their new house they bought after returning from the...

weixin_33968104的博客 177

Relocation POJ - 2923(状态压缩+2次01背包+好题,强烈推荐)

传送门 题意:一个人要搬家 ,有两个车,有n件物品,现在问至少搬多少次就能将所有东西搬完? 题解:刚开始想的是是不是要先01背包装小车,再01背包装大车,发现有很大的局限性,最后看了题解简要,一气呵成,这应该是个老题,不过论质量绝对经典,这其中运用了状态压缩,首先考虑的是把所有能一次运走的物品组合看成一个状态,也就是看成一个新的物品,在算这个是否能一次运走可以使用01背包中的装满背包的写法,...

肘子的博客 568

POJ 2923 Relocation(状态压缩DP+DP:01背包)

POJ 2923 Relocation(状态压缩DP+DP:01背包) http://poj.org/problem?id=2923 题意:有N件物品和两辆车,每辆车有个重量上限,现在要搬家且每次从老家到新家都是两车同时出动,问你至少需要多少次能搬完? 分析:        首先本题先要求出所有物品合法的组合,即两车能一次装下的物品组合,然后在利用状态压缩DP求解.        首先对

code 1239
上一篇: 最短路 Big Christmas Tree POJ - 3013
下一篇: Sightseeing POJ - 3463 次短路个数
sega_handsome
博客等级 码龄10年 7粉丝 164原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值