洛谷 P5662 纪念品
题目传送门
解题思路:
一道DP,完全背包,不过有点不同于模板.因为本题的每件物品可自由在不同的时间买卖,且不同时间价格不同.
这道题的关键在于要明白一个非常傻逼的性质,就是我在某天买了第i个物品,然后又把它卖出去,其实我啥也没干.
所以,我想将一个物品在第i天买,在第i+n天卖出去,其实可以转化为在第i天买,第i+1,i+2......i+n-1天都当天卖出去然后当天再买回来,第i+n天卖出去.
最后,套完全背包即可.
AC代码:
#include<iostream>
#include<cstdio>
#include<cstring> using namespace std; long long t,n,m,a[][],f[],ans; int main() {
scanf("%lld%lld%lld",&t,&n,&m);
for(int i = ;i <= t; i++)
for(int j = ;j <= n; j++)
scanf("%lld",&a[i][j]);
for(int i = ;i <= t; i++){
memset(f,,sizeof(f));
for(int j = ;j <= n; j++)
for(int x = a[i][j];x <= m; x++)
f[x] = max(f[x],f[x-a[i][j]] + a[i+][j] - a[i][j]);
m = max(m,f[m] + m);
}
printf("%lld",m);
return ;
}
//CSP-J 2019 T3
洛谷 P5662 纪念品的更多相关文章
- 洛谷 P5662 纪念品 & [NOIP2019普及组] (dp,完全背包)
传送门 解题思路 本题首先要明白,在每一天时,最优策略是先进行操作2(卖),再进行操作1(买),才能是利益最大化. 本题很显然当只有两天时,是一个完全背包,就是把当日价钱当做体积,把明日价格和今日价格 ...
- 洛谷P1094纪念品分组 题解
题目传送门 首先的思路就是贪心.先将所有的纪念品按照价格从低到高进行排序.在分别从左到右.从右到左合并纪念品.如果两端纪念品价格超过了上上限,那么就将较大的那一个纪念品独自放入.否则将两个纪念品一起放 ...
- 洛谷 P1094 纪念品分组【贪心/双指针/最少多少组合法不要求连续的两两捆绑】
题目描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的 ...
- 洛谷 P1094 纪念品分组
P1094 纪念品分组 先按价格对纪念品排序(这里是从大到小),然后从两端向中心开始配对,有两个变量i和j,表示正在处理的两个纪念品编号,开始时i=1,j=n,如果a[i]+a[j]>w则第i贵 ...
- 洛谷——P1094 纪念品分组
https://www.luogu.org/problem/show?pid=1094#sub 题目描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价 ...
- [题解]洛谷P1094——纪念品分组
原题链接: https://www.luogu.org/problem/P1094 题目简述: 有NNN件纪念品,每个纪念品都有特定的价格,要求将他们分组,每组纪念品之和不得超过MMM,并且每组最多只 ...
- 洛谷P1094——纪念品分组(简单贪心)
https://www.luogu.org/problem/show?pid=1094 题目描述 元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均 ...
- 洛谷 P1094 纪念品分类
刚开始看到这题就确定这题最好先要排序 第一个想法是排好序后先让第一个和从倒数第一个开始相加和如果就 <= w,那么用n除以2或者再加一得出答案,然后发现随便 当w = 110 n = 5序列 ...
- [洛谷P2610] [ZJOI2012]旅游
洛谷题目链接:[ZJOI2012]旅游 题目描述 到了难得的暑假,为了庆祝小白在数学考试中取得的优异成绩,小蓝决定带小白出去旅游~~ 经过一番抉择,两人决定将T国作为他们的目的地.T国的国土可以用一个 ...
随机推荐
- Go语言 Note
1.简单的CURD之搭建基础框架 //路由层 func Router(rg *gin.RouterGroup){ rg.GET("/getsupplier", facility.G ...
- Linux远程上传文件
#对拷文件夹 (包括文件夹本身) scp -r /home/slk root@192.168.1.5:/home # 对拷文件并重命名 scp /home/a.txt root@192.168.1.5 ...
- Android的事件处理机制之基于回调的事件处理
回调机制 如果说事件监听机制是一种委托式的事件处理,那么回调机制则与之相反,对于基于回调的事件处理模型来说,事件源与事件监听器是统一的,换种方法说事件监听器完全消失了,当用户在GUI组件上激发某个事件 ...
- Java虚拟机05.1(各种环境下jvm的参数如何调整?)
cmd下 eclipse下 tomcat下 cmd下指定jvm参数 在cmd下执行Java程序可以通过如下方式之地需要配置的Java 虚拟机参数: 这里只是指定了对初始为2M,新生代为1M,堆最大值为 ...
- 腾讯X5内核使用详解(X5内核播放器使用如何去除控制栏全屏播放)以及一些注意事项
例子下载地址 https://www.lanzous.com/i2zsv5g GIT就不用了麻烦的不行 本人安卓刚学 就上X5内核弄了老长时间由于对maven 和idea不熟悉刚开始导包都是 ...
- IDEA快速升级模块版本号
使用场景 一个多模块的项目中,在功能用重大更新后,需要升级版本号,如果不使用工具,需要手动更改每个pom.xml文件,而使用工具,就可以非常快速的完成版本号的更改. 基本步骤 0. idea执行ma ...
- 吴裕雄--天生自然java开发常用类库学习笔记:多对多关系范例
import java.util.List ; import java.util.ArrayList ; public class Course{ private String name ; priv ...
- Ubuntu1804 双网卡的设置
在WIFI模式下,既可以使用ping开发板,又可上网. 目标:ubuntu1804下使用两个网卡 网卡(eth0):用于桥接主机的物理网卡 网卡(eth1):用于NAT模式下共享主机IP,用于 ...
- C. Basketball Exercise dp
C. Basketball Exercise time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- Web基础之Spring MVC
Spring MVC Spring MVC 说是框架,对Tomcat来说其实就是一个Servlet,关于如何从上古时期的Servlet演化到如今的SpringMVC的,可以看看这篇博文:Spring ...