01背包dp问题

2024-04-29 08:36
文章标签 01 dp 背包 问题

本文主要是介绍01背包dp问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

E-来硬的_牛客小白月赛92 (nowcoder.com)

赛时没有看出来,赛后回顾一下值域比较小,有容量有价值,就是一个01背包..

#include <bits/stdc++.h>
using namespace std;
#define int long long
int dp[1000010][2];
void solve() {int n, m;cin >> n >> m;memset(dp, 0x3f, sizeof dp);dp[0][0] = dp[0][1] = 0;for (int i = 1; i <= n; i ++) {int x, y;cin >> x >> y;for (int j = m; j >= 0; j --) {dp[j][0] = min(dp[j][0], dp[max(0ll, j - x)][0] + y);dp[j][1] = min(dp[j][1], dp[max(0ll, j - x)][1] + y);dp[j][1] = min(dp[j][1], dp[max(0ll, j - 2 * x)][0] + y / 2);}}cout <<  dp[m][1] << "\n";
}
signed main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);int t;t = 1;//std::cin >> t;while (t--) {solve();}return 0;
}

这篇关于01背包dp问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945602

相关文章

常见磁盘分区问题

给磁盘分区有几个主要的原因: 组织和管理数据:分区可以帮助用户更好地组织和管理数据。例如,你可以在一个分区上安装操作系统,而在另一个分区上存储个人文件。这样,即使操作系统崩溃或需要重新安装,你的个人文件也不会受到影响。 提高性能:在物理硬盘上,数据读写速度在磁盘的不同部分可能会有所不同。通过合理的分区,可以将常用的数据放在性能较好的区域,从而提高系统的整体性能。 多操作系统:如果你想在同一台

java中含中文字符串的编码和解码问题。

1、在Java开发中经常被文字乱码的问题困扰。下面全面解释下字符串的编码和解码。 如 String str = "中国" 编码:byte[] bts = str.getBytes("编码方式");//常用编码方式 gbk、utf-8、gb2312、iso-8859-1等等。 解码:String b = new String(bts,"解码方式");//解码方式对应常用编码方式。 2、

关于Java中的内存泄漏问题及注意事项

所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。java中有垃圾回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被垃圾回收器从内存中清除掉。由于Java 使用有向图的方式进行垃圾回收管理,可以消除引用循环的问题,例如有两个对象,相互引用,只要它们和根进程不可达的,那么GC也是可以回收它们的,例如下面的代码可以看到这种情况的内存回收

关于.9图片Eclipse上移植到AndroidStudio上的问题解决方案

在eclipse上.9图能够正常使用,但是到了Androidstudio上就报错无法引用,提示关于.9图的问题。 可以看出Androidstudio对.9图进行了更严格的定义 以下给出了两个解决方案供大家参考。  解决方案: 1. 如果一张图片不是.9图的话,图片的后缀名千万不要带有XXXX.9.png,这样在androidstudio上是非法,会报错。 2.

解决ubuntu 暂时不能解析域名“cn.archive.ubuntu.com”问题

问题描述 E: 无法下载 http://security.ubuntu.com/ubuntu/pool/main/c/curl/curl_7.68.0-1ubuntu2.22_amd64.deb 暂时不能解析域名“cn.archive.ubuntu.com” 解决方法 sudo service network-manager stopsudo rm /var/lib/NetworkMana

【UE5.1 角色练习】01-使用小白人蓝图控制商城角色移动

目录 效果 步骤 一、导入资源  二、控制角色移动 三、更换角色移动动作 效果 步骤 一、导入资源  新建一个工程,然后在虚幻商城中将角色动画的相关资源加入工程,这里使用的是“动画初学者内容包”和“MCO Mocap Basics” 将我们要控制的角色添加进工程,这里使用的是“Adventure Character” 二、控制角色移动  在内容浏览器

ubuntu没有声音aplay -l找不到音效卡,unbuntu声卡驱动有问题,解决电脑没有声音

机子没有声音的,说最痛苦了,看个视频学习学习都难受,         折腾了这么久最后找到这篇帖子,希望对大家有用,个人感受是,ubuntu10.04版本系统的电脑无声问题跟电脑型号无关,因为我的一台HP笔记本,和多彩台式电脑,都是用此方法解决的,之前一直有去不同的主板商那里下驱动,可惜都不支持linux平台。 1.下载linux版本的官方驱动包  Realtek官网

再探旋转相机中的图像拼接问题

Homography 知多少? https://blog.csdn.net/heyijia0327/article/details/53782094 在ORB-SLAM初始化的时候,作者提到,如果场景是平面,或者近似平面,或者低视差时,我们能应用单应性矩阵(homography),这三种情形在我应用SVO的过程中颇有同感,打破了我对HH矩阵的固有映像,即只能用于平面或近似平面。 在学SLAM

linux 下安装opencv3.0在编译时出现的问题undefined reference to `parallel_pthreads_set_threads_num(int)'

来自:http://blog.csdn.net/lyk_ffl/article/details/47683549 错误如下: Linking CXX executable ../../bin/opencv_perf_core 在编译opencv 3.0 gold时,编译到大约37%时,出现 ../../lib/libopencv_core.so.3.0.0: undefined

从MySql中查出来的时间数据后面多了.0的问题

java 从MySql中查出来的时间数据后面多了“.0”,在App中显示出来不好看,解决办法就是格式转换 //时间格式转换,避免时间末尾出现".0" //必须用ResultSet.getObject("DateTime")获取时间在MySql中原有类型才能转换SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd