看到题目想到背包,但是背包开不了这么大的空间,所以好像不好做的样子,但是由于体积(价格)只有四种情况,所以我们可以将体积设为最小值的j倍加上一个k,因为n<=100,所以k的最大值就只有300,数组可以开f[110][110][310],不会超空间,可以完美解决所有的情况,但是最小价格小于300的时候要跑一个普通的01背包,否则数组之间会串起来出错。

状态转移方程

f[i][j][k]=max(f[i-1][j-1][k-(v[i]-minx)]+p[i],f[i-1][j][k])

表示可以从不同的情况下转移过来。

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#define ll long long
//long long 什么的还是要特别注意一下
using namespace std;
const int maxn=100+10;
int n;
ll w,v[maxn],p[maxn],f[maxn][maxn][310],minx=0x3f3f3f3f,F[350*100],ans;
int main(){scanf("%d%lld",&n,&w);for(int i=1;i<=n;i++){scanf("%lld%lld",&v[i],&p[i]);minx=min(minx,v[i]);}if(minx<=300){//这里跑一个很普通的01背包for(int i=1;i<=n;i++)for(int j=w;j>=v[i];j--)F[j]=max(F[j-v[i]]+p[i],F[j]);printf("%d\n",F[w]);return 0;}for(int i=1;i<=n;i++)for(int j=1;j<=w/minx;j++)for(int k=0;k<=3*n;k++)if(j*minx+k>=v[i] && k-(v[i]-minx)>=0 && j*minx+k<=w){//这里要注意判断总价格小于你的钱数&&数组不可以越界&&钱够f[i][j][k]=max(f[i-1][j-1][k-(v[i]-minx)]+p[i],f[i-1][j][k]);//状态转移ans=max(f[i][j][k],ans);}printf("%lld\n",ans);return 0;
}

落谷11月月赛——不开心的金明相关推荐

  1. 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心

    题目描述 你是一只小跳蛙,你特别擅长在各种地方跳来跳去. 这一天,你和朋友小 F 一起出去玩耍的时候,遇到了一堆高矮不同的石头,其中第 ii 块的石头高度为 h_ihi​,地面的高度是 h_0 = 0 ...

  2. 洛谷11月月赛(284pts rank85)

    https://www.luogu.org/contestnew/show/12006 我是比赛完后在去写的 这是我第一次打洛谷月赛,之前一次是比赛完才去看而且写了第一题就没写后面的了 284分,太水 ...

  3. 【洛谷月赛】洛谷11月月赛·Day1

    洛谷2614 计算器弹琴 本题地址: http://www.luogu.org/problem/show?pid=2614 题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参 ...

  4. 【题解】洛谷P4996[【LGR-055】洛谷11月月赛]C.咕咕咕 组合数

    题目链接 #include<cstdio> const int mod=998244353; typedef long long ll; inline int read() {int s= ...

  5. Mdoi R2 洛谷4月月赛I

    Mdoi R2 洛谷4月月赛I DIV2 A Car 题目描述 在MDOI市, 为了推行环保, 一辆车是否被限行的依据时车牌号和当天的日期. 车牌号的编码方式是这样的: **·**前三位均为大写字母, ...

  6. 安恒赛php_安恒11月月赛周周练writeup

    前言 11月月赛 完美错过时间,正好有周周练,基本都是一样月赛的web,记录下write up 手速要快 这题是10月月赛中的一题,直接看我上次的writeup:安恒月赛(十)web-2题writeu ...

  7. csu-2018年11月月赛Round2-div1题解

    csu-2018年11月月赛Round2-div1题解 A(2191):Wells的积木游戏 Description Wells有一堆N个积木,标号1~N,每个标号只出现一次 由于Wells是手残党, ...

  8. 关于517编程的11月月赛

    关于517编程的11月月赛-Nov.29 by Jasonxu 我是传送门 T1:umin之和 1.1题目 小海狸定义 umin为最小的没有在子集中出现过的非负整数. 小海狸有一组非负整数,他希望将这 ...

  9. 上海11月月赛乙组解题报告

    上海11月月赛乙组解题报告 1.数对统计 题目描述 给定 n 个数字 a1,a2,--,an,请从中挑选两个数字,并按原顺序组成一个数对.请问能选出多少种不完全相等的数对? 输入格式 第一行,单个整数 ...

最新文章

  1. vue 将字符串最后一个字符给替换_一步一步的实现Vue(一)
  2. android 左移动画_Android 控件的显示隐藏上下左右移动动画
  3. The type Resource is not accessible due to restriction on required library
  4. 4项探索+4项实践,带你了解华为云视觉预训练研发技术
  5. aws linux 安装图形,linux – 用于安装AWS CLI工具的Bash脚本
  6. 【java】java boolean 源码分析
  7. c++ string 无法通过下标访问_数组下标1你见过吗?
  8. 20162309《程序设计与数据结构》第二学期课程总结
  9. C#捕获摄像头进行拍照和录像资料总结
  10. 模糊神经网络算法matlab,模糊神经网络算法原理
  11. Eucalyptus的结构
  12. 巴法云 mixly 扩展库
  13. WampServer环境搭建
  14. python图案绘制解锁_PythonAppium实现安卓手机图形解锁
  15. oracle中scott用户的创建
  16. vs2022 error C1001:内部编译器错误
  17. 微信公众平台开发(15)--群发消息
  18. 爬取网易云音乐排行榜
  19. 阿里又一员猛将出走江湖?原钉钉CEO“无招”将离职创业,新公司被投资方疯抢!阿里辟谣:人还没走!...
  20. 四轴飞行器偏航角不同飞控的C语言实现方法

热门文章

  1. Tracker--追踪者
  2. 一闪一闪的企鹅,撬动了互联网的世界
  3. 2月24作业波斯顿房价预测线性回归
  4. 第二届无线通信AI大赛参赛总结
  5. Google Drive无限容量+网页网站式目录索引网盘
  6. UnserializeOne
  7. 微信小程序快速入门+四个实战小程序(一)——入门准备
  8. Android之定时刷新数据
  9. CSP 2022 复赛游记
  10. 番外8:ADS导出DWG文件并交给工厂制板