jzoj4245. 【五校联考6day2】er (B组——Day11)
文章目录
- 题目
- Description
- Input
- Output
- Sample Input
- Sample Output
- Data Constraint
- 解析
- 代码
题目
Description
小明在业余时间喜欢打电子游戏,不是星际和魔兽这些,是赛尔号一类的游戏。最近小明在玩一款新出的游戏,叫做■■■■■■■■。小明觉得游戏里自己的装备太垃圾了,每次都被大神虐,一怒之下充了■■元准备强化装备。
这个游戏中用于强化装备的道具叫做强化符文。有以下3 种:
- 赋值强化符文,对某个装备使用这个符文以后,装备威力值会变为一个常数。因为这个功能很IMBA,可以让一个垃圾装备变得非常牛■,所以它在游戏里很稀有,市场上最多能见到一个。
- 加法强化符文,对某个装备使用后,威力值加上一个常数。
- 乘法强化符文,对某个装备使用后,威力值乘上一个常数。
市场上有M 个不同强化符文可以购买,小明有N 件装备准备强化,他只能购买K 个强化符文,然后以任意顺序使用这些符文,强化他的任意装备(一个装备可以不强化也可以强化多次)。根据游戏的设定,所有装备威力值乘积为总效果。请为他设计一个购买和强化方案,使强化后的所有装备总效果值最大。
由于小明RP 不太好,打BOSS 都不掉神装,所以他的装备不超过两件。
Input
第一行3 个正整数N;M;K, 含义见题面。
第二行N 个正整数Ai,表示他的每个装备的初始威力值。
第三行开始共M 行,每行两个正整数Type_i;Ci,描述一个强化符文。Type_i表示符文类型,1 表示赋值,2 表示加法,3 表示乘法。Ci 是对应的常数值。
Output
一个数,表示最大的总效果值。由于这个数可能很大,请输出它的自然对数,保留3 位小数。
Sample Input
2 5 3
0 1
2 3
2 1
2 4
3 4
3 2
Sample Output
4.159
Data Constraint
对于20% 的数据,N = 1;
对于全部数据M,K ≤ 100;N ≤ 2,最多一个Type_i = 1。
输入数据中所有数不超过2000。
解析
代码
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;
int l2,l1,n,m,k,v[3],c;
long long sum[105],a[105],b[105],f[200000];
double ans,mul[105];bool cmp(int a,int b){return a>b;
}int main (){scanf("%d %d %d",&n,&m,&k);for(int i=1;i<=n;i++) scanf("%d",&v[i]);for(int i=1;i<=m;i++){int x,y;scanf("%d %d",&x,&y);if (x==1) c=y;else if (x==2) a[++l1]=y; else b[++l2]=y;}sort(a+1,a+l1+1,cmp);for(int i=1;i<=l1;i++)sum[i]=sum[i-1]+a[i];sort(b+1,b+l2+1,cmp);for(int i=1;i<=l2;i++) mul[i]=mul[i-1]+log(b[i]*1.0);if (n==1){for(int i=0;i<=l1;i++){if (i>k) break;ans=max(ans,log(1.0*(sum[i]+v[1]))+mul[k-i]);ans=max(ans,log(1.0*(c+sum[i]))+mul[k-i-1]);}return !printf("%.3lf",ans);}else {mul[0]=1;f[0]=1;for(int i=0;i<=l1;i++){if (i>k) break;for(int j=sum[l1];j>=sum[i]-sum[i-1];j--) f[j]=max(f[j],f[j-sum[i]+sum[i-1]]);for(int j=0;j<=sum[i];j++)if(f[j]>0&&f[sum[i]-j]>0) {ans=max(ans,log((sum[i]-j+v[1])*1.0)+log((j+v[2])*1.0)+mul[k-i]);ans=max(ans,log((sum[i]-j+v[1])*1.0)+log((j+c)*1.0)+mul[k-i-1]);ans=max(ans,log((sum[i]-j+c)*1.0)+log((j+v[2])*1.0)+mul[k-i-1]);}}}printf("%.3lf",ans);return 0;
}
jzoj4245. 【五校联考6day2】er (B组——Day11)相关推荐
- 4246. 【五校联考6day2】san (Standard IO)
4246. [五校联考6day2]san (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Detailed Limits D ...
- JZOJ 4245【五校联考6day2】er
吐槽:这题目起的好随便啊 原题 小明在业余时间喜欢打电子游戏,不是星际和魔兽这些,是赛尔号一类的游戏.最近小明在玩一款新出的游戏,叫做■■■■■■■■.小明觉得游戏里自己的装备太垃圾了,每次都被大神虐 ...
- 【五校联考6day2】er
Description 小明在业余时间喜欢打电子游戏,不是星际和魔兽这些,是赛尔号一类的游戏.最近小明在玩一款新出的游戏,叫做■■■■■■■■.小明觉得游戏里自己的装备太垃圾了,每次都被大神虐,一怒之 ...
- 【五校联考6day2】san
Description 小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一.由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能走最短 ...
- 【五校联考6day2】yi
Description 小明是■■■星际旅游公司的员工,负责安排飞船,有N 艘飞船由他管理,每艘飞船能容纳的人数都不同.今天小明被要求为一个去锑星的旅游团安排往返的飞船,旅游团有M人,小明希望用最少的 ...
- [jzoj 4246] 【五校联考6day2】san {spfa+dfs/spfa+拓扑排序+dp}
题目 Description 小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一.由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能 ...
- 4246. 【五校联考6day2】san
Description 小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一.由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能走最短 ...
- jzoj 4246【五校联考6day2】san
Description 小明经常去N 个地点,其中有些地点之间有直接的无向道路(共M 条这样的道路),可以直接互相到达,这些道路的长短不一.由于小明对这些道路都很熟悉,无论起点和终点在哪里,总能走最短 ...
- 湖南长郡2021高考成绩查询时间,2021年湖南新高考六校、长郡十五校联考时间公布...
2021年湖南新高考六校.长郡十五校联考时间公布 导读:距离2021年高考时间仅剩不到一百天,各个省份都的高三学子都进入紧张阶段.开始了各种模拟考试.2021届湖南省炎德英才大联考的考试时间也已经公布 ...
- jzoj4230. 【五校联考4day1】淬炼神体(B组——Day3)
jzoj4230. [五校联考4day1]淬炼神体 题目 Description 王仙女将你提供的答案填在<葵花宝典>上,突然,宝典发出耀眼的白光,一股强大的吸力瞬间将仙女吸入宝典中. 一 ...
最新文章
- 不可思议的数字:互联网每天到底能产生多少数据?
- java web 利用ajax 异步向后台提交数据
- 中国科学院深圳先进技术研究院为Banana Pi团队提供活动场地
- javascript 手机手势动作touch触屏原理分析
- python学习(十七) 扩展python
- linux重启服务挂载盘消失,如何处理ECS Linux服务器重启服务器、初始化系统后数据盘不见了的情况...
- 通过Content Editor来增加页面的控制
- 职场pua是什么意思,如何反职场pua,职场pua如何走出来
- 达内java实训总结_Java核心技术点小结
- 捕获 PHP 致命错误 Fatal Errors
- c语言元素累积的计算,C语言:计算输出给定数组中每相邻两个元素的平均值的平方根之和。...
- Java 动态绑定/多态
- RedHat Enterprise Linux 4的新安全机制-SELinux
- 路由器桥接设置(扩大wifi信号)
- 推荐电影电视剧下载最好去处
- 2048游戏DQN实验
- 升级opengl和显卡驱动_到底用不用更新显卡驱动
- 食肉动物和食草动物的双眼分布不同的原因
- CCF 202206-2 寻宝!大冒险!
- android中集成阿里云金融级实人认证