小P的强力值
小P的强力值
描述
小Hi在虚拟世界中有一只小宠物小P。小P有K种属性,每种属性的初始值为Ai。小Ho送给了小Hi若干颗药丸,每颗药丸可以提高小P指定属性1点。通过属性值,我们可以计算小P的强力值=(C1(1/B1))*(C2(1/B2))*...*(CK(1/BK)),其中Ci为小P第i项属性的最终值(Ai+药丸增加的属性)。 已知小Ho送给小Hi的药丸一共有N颗,问小P的强力值最高能够达到多少?
输入
第一行包含两个整数N,K,分别表示药丸数和属性种数。
第二行为K个整数A1 - AK,意义如前文所述。
第三行为K个整数B1 - BK,意义如前文所述。
对于30%的数据,满足1<=N<=10, 1<=K<=3
对于100%的数据,满足1<=N<=100000, 1<=K<=10
对于100%的数据,满足1<=Ai<=100, 1<=Bi<=10
输出
输出小P能够达到的最高的强力值。
只要你的结果与正确答案之间的相对或绝对误差不超过千分之一,都被视为正确的输出。
- 样例输入
-
5 2
1 1
3 2 - 样例输出
-
2.88
分析:对答案取log后发现其实乘法变成了加法,然后优先队列模拟一下即可;
代码:#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#include <list>
#define rep(i,m,n) for(i=m;i<=n;i++)
#define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++)
#define mod 1000000007
#define inf 0x3f3f3f3f
#define vi vector<int>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
#define pii pair<int,int>
const int maxn=1e5+;
const int dis[][]={{,},{-,},{,-},{,}};
using namespace std;
ll gcd(ll p,ll q){return q==?p:gcd(q,p%q);}
ll qpow(ll p,ll q){ll f=;while(q){if(q&)f=f*p%mod;p=p*p%mod;q>>=;}return f;}
int n,m,k,t;
double ans;
struct node
{
int x,y,id;
bool operator<(const node&p)const
{
return 1.0/y*(log(x+)-log(x))<1.0/p.y*(log(p.x+)-log(p.x));
}
}a[maxn];
priority_queue<node>p;
int main()
{
int i,j;
scanf("%d%d",&n,&k);
rep(i,,k-)scanf("%d",&a[i].x),a[i].id=i;
rep(i,,k-)scanf("%d",&a[i].y);
rep(i,,k-)p.push(a[i]);
rep(i,,n-)
{
node q=p.top();
p.pop();
q.x++,a[q.id].x++;
p.push(q);
}
ans=1.0;
rep(i,,k-)ans=ans*pow(a[i].x,1.0/a[i].y);
printf("%.7f\n",ans);
//system("pause");
return ;
}
小P的强力值的更多相关文章
- 微信小程序 传值取值的方法总结
微信小程序 传值取值的几种方法总结 列表index下标取值 页面传值 form表单取值 1. 列表index下标取值 实现方式是:data-index="{{index}}"挖坑及 ...
- 微信小程序的场景值scene
根据微信小程序返回给我们的场景值,我们可以根据不同的场景做出不同的处理,更加方便我们对使用场景的划分 当前支持的场景值有: :发现栏小程序主入口,“最近使用”列表(基础库2..4版本起将包含“我的小程 ...
- 怎么掌握微信小程序的取值、传值、数据存储
小程序界面设定如下 父级页面:A界面 子级页面:B界面 异级页面:C界面 一.本页面取值(A界面→A界面) a.例如:input输入文字获取到value(键盘输入时触发) wxml: <inpu ...
- 关于微信小程序的场景值
微信小程序 “场景值” 对运营同学和产品比较有用一般开发者需在这里埋点,获取场景址,看一下小程序,用户一般从哪个路口进的有利于提升产品体验
- 微信小程序windowHeight的值在ios和android平台不一致问题解决办法
开发中遇到一个业务需求,需要把页面顶部.底部固定,中间的scroll-view内部滚动.要满足这个需求,需要根据屏幕高度计算中间的scroll-view高度.结果悲催地发现,使用 wx.getSyst ...
- 微信小程序传值取值的几种方法
一,列表index下的取值 实现方式是:data-index="{{index}}"挖坑及e.currentTarget.dataset.index来填坑即可 1.1生成值 < ...
- 微信小程序获取自定义属性值
写小程序的时候用到了自定义属性,特地来记录一下 特别是这个坑,必须得说一说 wxml <view class='box' bindtap='getValue'> <view clas ...
- 动态设置微信小程序 navigationBarTitle 的值
wx.setNavigationBarTitle({ title:' 动态值 ' })
- jquery 根据后端传过来的value值,让小原点根据不同值区间去左右定位
/** * 小圆点滑动 * @param {目标dom} barEle * @param {最小值} min * @param {最大值} max * @param {dom总长度} domLang ...
随机推荐
- iOS:UIWebView scrollView 的分页滑动问题
最近在弄一个native webview+html的项目,感觉这种尝试还是挺不错的,特被是适合内容类app.如杂志.电子书等.其实native搭的就是一个框架,主体还是在html的内容上,所以花在ht ...
- AngularJS 的表单验证
最近开始学习angularjs,学到表单验证的时候发现有必要学习下大神的好文章: 转:http://www.oschina.net/translate/angularjs-form-validatio ...
- DefaultHttpClient is deprecated 【Api 弃用]】
最近在使用Apache的httpclient的时候,maven引用了最新版本4.3,发现Idea提示DefaultHttpClient等常用的类已经不推荐使用了,之前在使用4.2.3版本的时候,还没有 ...
- Qt之QTextCodec乱谈
何处开始呢? 一旦在Qt程序中出现latin1字符集以外的字符,几乎大家无一例外的会用到 QTextCodec. 而不少网友不分青红皂白,一旦用到中文,就同时使用下面3条指令(其中textc 取为 g ...
- include和 merge
include和merge标记的作用主要是为了解决layout的重用问题. 比如我们有三四个Activity但是他们都要用到同一个样式的标题栏,虽然我们把一样的代码copy个三四遍也没关系,但实在是太 ...
- 5.1 timestamp数据类型默认值
5.1 不支持同一张表中有多个tmiestamp类型字段的默认值为current_time, 5.6版本无此问题
- 【中国剩余定理】 poj 1006
生理周期 简单模拟 对于超出23 * 28 * 33(21252)时进行求余运算即可. #include<stdio.h> int main() { //freopen("in ...
- auto_ptr浅析
auto_ptr是C++标准库中(<utility>)为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针) auto_ptr的实现原理其实就是RAII,在构造的 ...
- AutoTile 自动拼接(六 大结局) 学习与实践
昨天在网上找了一些资源图片,这回就不用担心 背景资源不多的问题了,现在我一边 制作,一边发布文章. 各种各样,500多个,这里还是特别感谢 ,万恶的资本主义,不设密码就给我分享. 在制作前,大家看下这 ...
- HDU 3038 How Many Answers Are Wrong (并查集)---并查集看不出来系列-1
Problem Description TT and FF are ... friends. Uh... very very good friends -________-bFF is a bad b ...