2019牛客暑期多校训练营(第六场)J Upgrading Technology
题意:
就是给你n个技能,每个技能最高升到m级,每升一级就是耗费Cij钱,这个Cij可能是负的,如果所有技能都升到或者说超过j等级,就会获得Dj钱,这个Dj也有可能是负值,让你求你最多得到多少钱(技能没有固定说要升到多少级,你也可以不升,这样就获得了0)
题解:
把所以获取的钱都变成正值,耗费的钱转化成负值,只需要处理一下Cij即可
之后计算最大后缀sum[i][j]代表第i个技能,从j+1---m级最大能获得多少钱
1 for(int i=1;i<=n;++i)
2 {
3 sum[i][m]=0;
4 for(int j=m-1;j>=0;j--)
5 {
6 sum[i][j]=max(0ll,sum[i][j+1]+a[i][j+1]);
7 }
8 }
之后再算一下假设所有技能都是j级是能获得的钱,然后再找n个技能的最大后缀,所有加到一起,还要再后缀里面找到最小的那个,要减去它
因为如果所以后缀都是正值,那么相当于所有技能都升了一级,如果这个时候Dj是负值,而且这个负值还不小,那我们求出来的就不是最小值了
代码:
1 #include<stdio.h>
2 #include<string.h>
3 #include<iostream>
4 #include<algorithm>
5 using namespace std;
6 typedef long long ll;
7 const int maxn=1005;
8 const int mod = 998244353;
9 ll sum[maxn][maxn];
10 int d[maxn],a[maxn][maxn];
11 int main()
12 {
13 int cnt=1,t,n,m;
14 scanf("%d",&t);
15 while(t--)
16 {
17 scanf("%d %d",&n,&m);
18 for(int i=1;i<=n;++i)
19 for(int j=1;j<=m;++j)
20 scanf("%d",&a[i][j]),a[i][j]=-a[i][j];
21 for(int i=1;i<=m;++i)
22 scanf("%d",&d[i]); //有可能为负值
23 for(int i=1;i<=n;++i)
24 {
25 sum[i][m]=0;
26 for(int j=m-1;j>=0;j--)
27 {
28 sum[i][j]=max(0ll,sum[i][j+1]+a[i][j+1]);
29 }
30 }
31 ll now=0,ans=0;
32 for(int j=0;j<=m;++j)
33 {
34 for(int i=1;i<=n;++i)
35 now+=a[i][j];
36 now+=d[j];
37 ll temp=0,minn=1e18;
38 for(int i=1;i<=n;++i)
39 temp+=sum[i][j],minn=min(minn,sum[i][j]);
40 ans=max(ans,temp-minn+now);
41 }
42 printf("Case #%d: %lld\n",cnt++,ans);
43 }
44 return 0;
45 }
2019牛客暑期多校训练营(第六场)J Upgrading Technology的更多相关文章
- 2019牛客暑期多校训练营(第六场)C - Palindrome Mouse (回文自动机)
https://ac.nowcoder.com/acm/contest/886/C 题意: 给出一个串A , 集合S里面为A串的回文字串 , 现在在集合S里面找出多少对(a,b),b为a的字串 分析: ...
- 2019牛客暑期多校训练营(第九场)A:Power of Fibonacci(斐波拉契幂次和)
题意:求Σfi^m%p. zoj上p是1e9+7,牛客是1e9: 对于这两个,分别有不同的做法. 前者利用公式,公式里面有sqrt(5),我们只需要二次剩余求即可. 后者mod=1e9,5才 ...
- 2019牛客暑期多校训练营(第一场)A题【单调栈】(补题)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 题目描述 Two arrays u and v each with m distinct elem ...
- 2019牛客暑期多校训练营(第一场) B Integration (数学)
链接:https://ac.nowcoder.com/acm/contest/881/B 来源:牛客网 Integration 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 5242 ...
- 2019牛客暑期多校训练营(第一场) A Equivalent Prefixes ( st 表 + 二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A 来源:牛客网 Equivalent Prefixes 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/ ...
- 2019牛客暑期多校训练营(第二场)F.Partition problem
链接:https://ac.nowcoder.com/acm/contest/882/F来源:牛客网 Given 2N people, you need to assign each of them ...
- 2019牛客暑期多校训练营(第一场)A Equivalent Prefixes(单调栈/二分+分治)
链接:https://ac.nowcoder.com/acm/contest/881/A来源:牛客网 Two arrays u and v each with m distinct elements ...
- [状态压缩,折半搜索] 2019牛客暑期多校训练营(第九场)Knapsack Cryptosystem
链接:https://ac.nowcoder.com/acm/contest/889/D来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言52428 ...
- 2019牛客暑期多校训练营(第二场)J-Subarray(思维)
>传送门< 前言 这题我前前后后看了三遍,每次都是把网上相关的博客和通过代码认真看了再思考,然并卵,最后终于第三遍也就是现在终于看懂了,其实懂了之后发现其实没有那么难,但是的的确确需要思维 ...
随机推荐
- Flutter 布局类组件:流式布局(Wrap和Flow)
前言 把超出屏幕显示范围会自动折行的布局称为流式布局.Flutter中通过Wrap和Flow来支持流式布局,将Row换成Wrap后溢出部分则会自动折行. Wrap 接口描述 Wrap({ Key ke ...
- 【译】Async/Await(二)——Futures
原文标题:Async/Await 原文链接:https://os.phil-opp.com/async-await/#multitasking 公众号: Rust 碎碎念 翻译 by: Praying ...
- 【Linux】CentOS7中修改中文字符集
CentOS 7中字符集查看的方式是 locale -a 或者locale 如果想显示中文的话,应该修改为 LANG="zh_CN.UTF-8" 在命令行界面临时修改字符集的话 ...
- ORACLE查找占用临时表空间多的SESSION
需要使用SYS用户登录查看 /* Formatted on 2020/12/30 上午 11:17:12 (QP5 v5.163.1008.3004) */ SELECT k.inst_id &quo ...
- SAP下载文档为乱码
通过事物WE60下载的文档为乱码,主要原因是编码格式的不匹配,通常默认的编码格式为ANSI编码,那么我们需要将源码的编码格式转换成UTF-8,这样问题可以解决了. 附:编码格式介绍 不同的国家和地 ...
- SAPLink 非常好用的工具
对于SAP LINK,如果你想将一个程序完整的保存到本地,包括程序的自定义屏幕.菜单等等,那么请使用这个工具,它能够将一个程序完整的保存下来,并且移植到另一个SAP系统中,用来左程序的迁移和本地保存备 ...
- Android 代码规范大全
前言 虽然我们项目的代码时间并不长,也没经过太多人手,但代码的规范性依然堪忧,目前存在较多的比较自由的「代码规范」,这非常不利于项目的维护,代码可读性也不够高, 此外,客户端和后端的研发模式也完全不同 ...
- django 中连接mysql数据库的操作步骤
django中连接mysql数据库的操作步骤: 1 settings配置文件中 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mys ...
- 自翻------Office 2013 RT 使用说明
Office Home and Student 2013 RT Preview的更新 介绍 Microsoft已发布Microsoft Office Home and Student 2013 RT ...
- JavaScript中创建对象的三种方式!
JavaScript中创建对象的三种方式! 第一种 利用对象字面量! // 创建对象的三种方式! // 1 对象字面量. var obj = { // 对象的属性和方法! name: 'lvhang' ...