博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【NOIP2006】【Luogu1060】开心的金明(01背包模板)
阅读量:5019 次
发布时间:2019-06-12

本文共 618 字,大约阅读时间需要 2 分钟。

problem

  • 有n个物品,价格为wi, 重要度为vi。
  • 在代价不超过m的情况下,最大化wi*vi的值
  • n < 30, m < 3e4

solution

Qwq,Wi*Vi是确定的。

所以vi *= wi;之后,,,就是一个01背包。
——
f[i]表示剩余体积为i时能获得的最大价值
决策过程可以选或者不选。
更多见背包九讲?
复杂度O(mn)

codes

#include
using namespace std;const int maxn = 40;int v[maxn], w[maxn], f[50005];int main(){ int n, m; cin>>m>>n; for(int i = 1; i <= n; i++){ int x, y; cin>>x>>y; w[i] = x; v[i] = x*y; } for(int i = 1; i <= n; i++) for(int j = m; j >= w[i]; j--) f[j] = max(f[j], f[j-w[i]]+v[i]); cout<
<<'\n'; return 0;}

转载于:https://www.cnblogs.com/gwj1314/p/9444625.html

你可能感兴趣的文章
HDU2191(多重背包)
查看>>
测试用例(一)
查看>>
【转】 mysql反引号的使用(防冲突)
查看>>
邮件中的样式问题
查看>>
AJAX 状态值与状态码详解
查看>>
php面向对象编程(oop)基础知识示例解释
查看>>
1.在数组中找到与给定总和的配对
查看>>
树的子结构
查看>>
关于根据Build Platform或者OS 加载x86或者x64 dll的问题
查看>>
程序员高效开发的几个技巧
查看>>
js-权威指南学习笔记19.2
查看>>
hexo 搭建博客
查看>>
关于 UIWebView 几个高级用法
查看>>
maven创建的项目中无法创建src/main/java 解决方案
查看>>
华为软件开发云测评报告二:代码检查
查看>>
集合1
查看>>
js 原生 ajax
查看>>
关键词 virtual
查看>>
建造者模式(屌丝专用)
查看>>
UVALive 4730 Kingdom +段树和支票托收
查看>>