生活随笔
收集整理的這篇文章主要介紹了
【五校联考6day2】er
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Description
小明在業(yè)余時(shí)間喜歡打電子游戲,不是星際和魔獸這些,是賽爾號(hào)一類(lèi)的游戲。最近小明在玩一款新出的游戲,叫做■■■■■■■■。小明覺(jué)得游戲里自己的裝備太垃圾了,每次都被大神虐,一怒之下充了■■元準(zhǔn)備強(qiáng)化裝備。
這個(gè)游戲中用于強(qiáng)化裝備的道具叫做強(qiáng)化符文。有以下3 種:
賦值強(qiáng)化符文,對(duì)某個(gè)裝備使用這個(gè)符文以后,裝備威力值會(huì)變?yōu)橐粋€(gè)常數(shù)。因?yàn)檫@個(gè)功能很IMBA,可以讓一個(gè)垃圾裝備變得非常牛■,所以它在游戲里很稀有,市場(chǎng)上最多能見(jiàn)到一個(gè)。加法強(qiáng)化符文,對(duì)某個(gè)裝備使用后,威力值加上一個(gè)常數(shù)。乘法強(qiáng)化符文,對(duì)某個(gè)裝備使用后,威力值乘上一個(gè)常數(shù)。
市場(chǎng)上有M 個(gè)不同強(qiáng)化符文可以購(gòu)買(mǎi),小明有N 件裝備準(zhǔn)備強(qiáng)化,他只能購(gòu)買(mǎi)K 個(gè)強(qiáng)化符文,然后以任意順序使用這些符文,強(qiáng)化他的任意裝備(一個(gè)裝備可以不強(qiáng)化也可以強(qiáng)化多次)。根據(jù)游戲的設(shè)定,所有裝備威力值乘積為總效果。請(qǐng)為他設(shè)計(jì)一個(gè)購(gòu)買(mǎi)和強(qiáng)化方案,使強(qiáng)化后的所有裝備總效果值最大。
由于小明RP 不太好,打BOSS 都不掉神裝,所以他的裝備不超過(guò)兩件。Input
第一行3 個(gè)正整數(shù)N;M;K, 含義見(jiàn)題面。
第二行N 個(gè)正整數(shù)Ai,表示他的每個(gè)裝備的初始威力值。
第三行開(kāi)始共M 行,每行兩個(gè)正整數(shù)Type_i;Ci,描述一個(gè)強(qiáng)化符文。Type_i表示符文類(lèi)型,1 表示賦值,2 表示加法,3 表示乘法。Ci 是對(duì)應(yīng)的常數(shù)值。
Output
一個(gè)數(shù),表示最大的總效果值。由于這個(gè)數(shù)可能很大,請(qǐng)輸出它的自然對(duì)數(shù),保留3 位小數(shù)。
Sample Input
2 5 3
0 1
2 3
2 1
2 4
3 4
3 2
Sample Output
4.159
Data Constraint
對(duì)于20% 的數(shù)據(jù),N = 1;
對(duì)于全部數(shù)據(jù)M,K ≤ 100;N ≤ 2,最多一個(gè)Type_i = 1。
輸入數(shù)據(jù)中所有數(shù)不超過(guò)2000。
.
.
.
.
.
.
分析
.
.
.
.
.
.
程序:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;int n,m,k,v[3],tjj,tjc;
long long fz,sumjia[200],jia[200],chen[200],f[200000];
double ans,sumchen[200];bool cmp(int a,int b)
{return a>b;
}void work1()
{for (int i=0;i<=min(tjj,k);i++){ans=max(ans,log(v[1]+sumjia[i])+sumchen[k-i]);ans=max(ans,log(fz+sumjia[i])+sumchen[k-i-1]);} printf("%0.3lf",ans);
}void work2()
{sumchen[0]=1;f[0]=1;for (int i=0;i<=min(tjj,k);i++){for (int j=sumjia[tjj];j>=sumjia[i]-sumjia[i-1];j--)f[j]=max(f[j],f[j-(sumjia[i]-sumjia[i-1])]);if (k-i==tjc) sumjia[0]=0;for (int x=0;x<=sumjia[i];x++)if (f[x]>0&&f[sumjia[i]-x]>0){long long w=sumjia[i]-x;ans=max(ans,log(w+v[1])+log(x+v[2])+sumchen[k-i]);ans=max(ans,log(w+v[1]+fz)+log(x+v[2])+sumchen[k-i-1]);ans=max(ans,log(w+v[1])+log(x+v[2]+fz)+sumchen[k-i-1]);}}printf("%0.3lf",ans);
}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) fz=y;if (x==2) jia[++tjj]=y;if (x==3) chen[++tjc]=y;}sort(jia+1,jia+tjj+1,cmp);sort(chen+1,chen+tjc+1,cmp);sumjia[0]=0;for (int i=1;i<=tjj;i++)sumjia[i]=sumjia[i-1]+jia[i];sumchen[0]=0;for (int i=1;i<=tjc;i++)sumchen[i]=sumchen[i-1]+log(chen[i]);if (n==1) work1();if (n==2) work2();return 0;
}
轉(zhuǎn)載于:https://www.cnblogs.com/YYC-0304/p/10458933.html
總結(jié)
以上是生活随笔為你收集整理的【五校联考6day2】er的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。