前言
好难一题,没想到都没看懂,呜呜呜 传送门 :
思路一开始看错了,以为只可以拿一个,就果断 01 01 01背包(竟然过样例了! == WA
本题看上去是一个完全背包问题
对于问题分类
- 要么放大奶酪在上面 (增加奶酪数
- 要么不放在上面 (那么可能放的奶酪少
所以对于第一种我们可以直接使用完全背包计算出来
不过为什么最后他们会得出5/4
这个数值,(因为体积变大的上限就是这个?
第二种,我们只需要让每一个奶酪当最上面的那个即可,然后求一次最大值
(当然如果在不知道5/4
这个数值的时候,我们也可以使用状态机+完全背包
const int N = 2e3+10;
int f[N];
int n,t,k;
int a[N],v[N];
void solve()
{
cin>>n>>t>>k;
for(int i=1;i>v[i]>>a[i];
//sort(a+1,a+1+n);
for(int i=1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?