题目传送门

解题思路:

一道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

最新文章

  1. Redis3重建Cluster
  2. 悟透JavaScript(理解JS面向对象的好文章)
  3. TCP/IP 和 Socket 的关系
  4. 详解CALayer 和 UIView的区别和联系
  5. 转 Android 对话框(Dialog)大全 建立你自己的对话框
  6. mysql 查看最大连接数 设置最大连接数
  7. WOSA/XFS及SP综述
  8. problem 1 -- Two sum
  9. 【SQL】大杂烩
  10. 哈工大数据库系统 实验:练习并熟练掌握交互式 SQL 语言
  11. 浅谈Java单例模式
  12. libcrypto.so.1.0.0内容丢失导致sshd无法运行解决方案
  13. Ext表格分页
  14. javascript算法(一)
  15. sqlserver数据库NULL类型注意事项
  16. centos修改默认启动级别
  17. 页面显示时间js
  18. MySQL大数据量分页查询方法及其优化
  19. @RequestParam注解的作用及用法
  20. 初看Mybatis 源码 (三) SQL是怎么执行的

热门文章

  1. uboot源码分析2-启动第二阶段
  2. 054、Java中使用for循环第二种写法实现1~100的累加
  3. Essay写作:Conclusion部分写作辅导
  4. php中date(&#39;Y/m/d&#39;,time())显示不对
  5. 吴裕雄--天生自然java开发常用类库学习笔记:线程的生命周期
  6. 锤子科技向OpenBSD基金会捐款195 万
  7. 如何从Domino迁移到Exchange 2010
  8. 获取指定进程号,并kill掉
  9. ES6 map()遍历、filter()筛选 的简单使用
  10. bugku - pwn wp