BZOJ 1531 二进制优化多重背包
2024-08-24 22:48:40
思路:
讲道理我应该写单调队列优化多重背包的
但是我不会啊
但是我现在! 还不会啊
我就写了个二进制优化的..
过了
//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,cpy[],b[],c[],f[],jy,xx,top,k;
int main(){
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%d",&cpy[i]);
for(int i=;i<=n;i++){
scanf("%d",&xx),jy=;
while(xx){
if(xx>=(<<jy))c[++top]=(<<jy),xx-=(<<jy);
else c[++top]=xx,xx=;
b[top]=cpy[i]*c[top],jy++;
}
}
scanf("%d",&k);
memset(f,0x3f,sizeof(f)),f[]=;
for(int i=;i<=top;i++)
for(int j=k;j>=b[i];j--)
f[j]=min(f[j],f[j-b[i]]+c[i]);
printf("%d\n",f[k]);
}
最新文章
- mybatis问题is not known to the MapperRegistry
- Swift - 语言指南,来自github学习
- 学习Linux第六天
- Java异常 —— java.lang.NoClassDefFoundError
- 在XP系统中自带的 msvcrt.dll 和 Vista 中的 msvcrt.dll 版本不同,导致抛出的异常不同
- Z - 不容易系列之(3)―― LELE的RPG难题
- Sql语句不等于空
- setObject:forKey和setValue:forKey的区别
- A low-cost wear-leveling algorithm for block-mappingsolid-state disks
- WebSocket和Socket
- 使用System.out.printf()输出日志重定向到文件后显示混乱问题
- 小程序前端防止重复点击请求api的简陋方法
- 豆瓣电影 Top 250
- c#FTP应用---FileZilla Server
- [转帖] Kubernetes如何使用ReplicationController、Replica Set、Deployment管理Pod ----文章很好 但是还没具体操作实践 也还没记住.
- Asp.net Core 2.0+EntityFrameWorkCore 2.0添加数据迁移
- Python高级编程之生成器(Generator)与coroutine(三):coroutine与pipeline(管道)和Dataflow(数据流_
- scrapy源码分析(转)
- Delphi DBGrid双击事件、单元格操作
- 258. Add Digits 数位相加到只剩一位数
热门文章
- 终极解决VS2015 安装失败问题,如 安装包损坏或丢失
- OpenCV:Adaboost训练时数据扩增
- https://blog.csdn.net/cddcj/article/details/52193932
- 查看占用某端口的进程——netstat、findstr 的使用
- 在Unity中客户端与服务器端的2种通信方式(Socker)
- RF学习使用记录【4】
- 【JavaScript游戏开发】使用HTML5+Canvas+JavaScript 封装的一个超级马里奥游戏(包含源码)
- 【hihocoder 1296】数论三·约瑟夫问题
- 第三次训练 密码acmore
- (25)Spring Boot使用自定义的properties【从零开始学Spring Boot】