洛谷P5365 [SNOI2017] 英雄联盟 题解

题目链接:P5365 [SNOI2017] 英雄联盟

题意:正在上大学的小皮球热爱英雄联盟这款游戏,而且打的很菜,被网友们戏称为「小学生」。

现在,小皮球终于受不了网友们的嘲讽,决定变强了,他变强的方法就是:买皮肤!

小皮球只会玩 N \text{N} N 个英雄,因此,他也只准备给这 N \text{N} N 个英雄买皮肤,并且决定,以后只玩有皮肤的英雄。

这 N \text{N} N 个英雄中,第 i \text{i} i 个英雄有 K i K_i Ki​ 款皮肤,价格是每款 C i C_i Ci​ Q 币(同一个英雄的皮肤价格相同)。

为了让自己看起来高大上一些,小皮球决定给同学们展示一下自己的皮肤,展示的思路是这样的:对于有皮肤的每一个英雄,随便选一个皮肤给同学看。

比如,小皮球共有 5 个英雄,这 5 个英雄分别有 0,0,3,2,4 \text{0,0,3,2,4} 0,0,3,2,4 款皮肤,那么,小皮球就有 3 × 2 × 4 = 24 3 \times 2 \times 4 = 24 3×2×4=24 种展示的策略。

现在,小皮球希望自己的展示策略能够至少达到 M \text{M} M 种,请问,小皮球至少要花多少钱呢?

题目要求的就是数量要超过 m m m ,并要求价格最少

如果直接dp会带上一些乘法除法的转移,不太好

考虑转化问题,求出每种价格可以获得的最多的数量

那么这就变成了一个类似于多重背包的dp问题

其中价格是费用,即 w [ i ] w[i] w[i]

状态转移方程:
d p [ j ] = max ⁡ 0 ≤ k ≤ min ⁡ ( v [ i ] , ⌊ j w [ i ] ⌋ ) ( d p [ j ] , d p [ j − k × w [ i ] ] × k ) dp[j]=\max_{0 \le k \le \min\left(v[i],\left\lfloor\frac{j}{w[i]}\right\rfloor\right)}(dp[j],dp[j-k\times w[i]]\times k) dp[j]=0≤k≤min(v[i],⌊w[i]j​⌋)max​(dp[j],dp[j−k×w[i]]×k)
代码:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define INF 0x3f3f3f3f3f3f3f3f
#define N (int)(205)
#define M (int)(3e5+15)
int n,m,sum;
int w[N],v[N],dp[M];
signed main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);// freopen("check.in","r",stdin);// freopen("check.out","w",stdout);cin >> n >> m;for(int i=1; i<=n; i++)cin >> v[i];for(int i=1; i<=n; i++){cin >> w[i];sum+=w[i]*v[i];}dp[0]=1;for(int i=1; i<=n; i++)for(int j=sum; j>=0; j--)for(int k=1; k*w[i]<=j&&k<=v[i]; k++)dp[j]=max(dp[j],dp[j-k*w[i]]*k);int mn=INF;for(int i=1; i<=sum; i++)if(dp[i]>m){cout << i;return 0;}return 0;
}

转载请说明出处

洛谷P5365 [SNOI2017] 英雄联盟 题解相关推荐

  1. 洛谷P1462 通往奥格瑞玛的道路 题解

    洛谷P1462 通往奥格瑞玛的道路 题解 题目链接:P1462 通往奥格瑞玛的道路 题意:在艾泽拉斯,有 nnn 个城市.编号为 1,2,3,-,n1,2,3,\ldots,n1,2,3,-,n . ...

  2. 洛谷P4037 [JSOI2008]魔兽地图 题解

    洛谷P4037 [JSOI2008]魔兽地图 题解 题目链接:P4037 [JSOI2008]魔兽地图 题意: DotR (Defense of the Robots) Allstars是一个风靡全球 ...

  3. 【BZOJ5018】[Snoi2017]英雄联盟 背包

    [BZOJ5018][Snoi2017]英雄联盟 Description 正在上大学的小皮球热爱英雄联盟这款游戏,而且打的很菜,被网友们戏称为「小学生」.现在,小皮球终于受不了网友们的嘲讽,决定变强了 ...

  4. [BZOJ]5018: [Snoi2017]英雄联盟 DP

    [Snoi2017]英雄联盟 Time Limit: 15 Sec  Memory Limit: 512 MB Submit: 270  Solved: 139 [Submit][Status][Di ...

  5. 洛谷P1129 [ZJOI2007] 矩阵游戏 题解

    洛谷P1129 [ZJOI2007] 矩阵游戏 题解 题目链接:P1129 [ZJOI2007] 矩阵游戏 题意:给定一张有黑白棋子的正方形棋盘,问存不存在解法使得经过若干次交换行或列的操作后,左上角 ...

  6. 洛谷P3336 [ZJOI2013]话旧 题解

    洛谷P3336 [ZJOI2013]话旧 题解 题目链接:P3336 [ZJOI2013]话旧 题意:小林跟着银河队选手去了一趟宇宙比赛,耳濡目染,变得学术起来.回来后,他发现世界大变样了.比丘兽究级 ...

  7. 洛谷P4683 [IOI2008] Type Printer 题解

    洛谷P4683 [IOI2008] Type Printer 题解 题目链接:P4683 [IOI2008] Type Printer 题意: 你需要利用一台可移动的打印机打印出NNN个单词.这种可移 ...

  8. 洛谷P3647 [APIO2014] 连珠线 题解

    洛谷P3647 [APIO2014] 连珠线 题解 题目链接:P3647 [APIO2014] 连珠线 题意: 在达芬奇时代,有一个流行的儿童游戏称为连珠线.当然,这个游戏是关于珠子和线的.线是红色或 ...

  9. 洛谷P4170 [CQOI2007]涂色 题解

    洛谷P4170 [CQOI2007]涂色 题解 题目链接:P4170 [CQOI2007]涂色 题意: 假设你有一条长度为 555 的木板,初始时没有涂过任何颜色.你希望把它的 555 个单位长度分别 ...

最新文章

  1. class view里面的目录项_Eclipse里面出现一排open a terminal,怎么把消除它???
  2. svn authz 授权文件模版
  3. 【微机原理与接口技术】具体芯片(1)并行接口8255A(1):全局观
  4. MaxCompute Console 实用小命令
  5. Linux Bash Shell编程快速入门
  6. openGauss Summit 2021云和恩墨分论坛即将开启
  7. Prezi 7 大图形设计技巧,让视觉思维落地生根
  8. mysql5.7审计功能开启_开启mysql的审计功能
  9. HTML5七夕情人节表白网页制作【满天星空3D相册】HTML+CSS+JavaScript 3D动态相册网页代码
  10. 最通俗易懂的讲解工厂模式
  11. Image caption领域的研究现状及分析
  12. python读取pcd文件_(一)读取PCD文件
  13. linux下编译ts工程,linux下搭建生成HLS所需的.ts和.m3u8文件
  14. T163基于51单片机锅炉温度自动控制系统Proteus设计、keil程序、c语言、源码,流程图、设计报告
  15. sicily 1002
  16. Verilog设计一个秒脉冲发生器(FPGA)
  17. pLC支持C语言编程执行复杂控制,能够实现多种工作方式的plc控制系统的编程
  18. 庄树松勇挫老将黄海刚 硬汉将复仇伊泽波人
  19. ROS melodic+Astra s编译运行ros_astra_camera实录(踩坑没填完)
  20. 股票公式编程是c语言,C语言编写公式的基础(飞狐用).doc

热门文章

  1. Vscode设置简体中文
  2. 用java在d盘创建test文件_在D盘中创建文件test.txt,文件中内容为:hello Java,然后利用流把该文件拷贝到E盘根目录中...
  3. 口琴演奏《爱尔兰画眉》
  4. java毕业设计公告管理mybatis+源码+调试部署+系统+数据库+lw
  5. 浏览器的默认java灰色_设置默认浏览器无效解决方法+java打开默认浏览器
  6. 第三周 青海之行——练练构图,培养你的摄影眼
  7. 数据库中间件(分表分库路由)
  8. 集合论(4):无穷集合及其基数
  9. 【Laravel3.0.0源码阅读分析】sweeper接口sweeper.php
  10. html5旅社模板,旅游社旅行社HTML模板