您的位置:首页 > 其它

uvalive 2911 Maximum(贪心)

2013-08-31 23:24 447 查看
题目连接:2911 - Maximum

题目大意:给出m, p, a, b,然后xi满足题目中的两个公式, 要求求的 xp1 + xp2 +...+ xpm 的最大值。

解题思路:可以将x1 + x2 +...+ xm = b *

两端同时乘以根号a去计算。然后按照贪心的思想去计算。

#include <stdio.h>
#include <math.h>

int l, r;
double m, p, a, b, tmp, sum;

int main() {
while (scanf("%lf%lf%lf%lf", &m, &p, &a, &b) == 4) {
tmp = a * b;
r = l = 0;
sum = 0;
for (int i = 0; i < m - 1; i++) {
if (tmp < a) {
tmp++;
l++;
}
else {
tmp -= a;
r++;
}
}

sum += l / pow(sqrt(a), p);
sum += r * pow(sqrt(a), p);
sum += pow((tmp / sqrt(a)), p);
printf("%d\n", int(sum + 0.5));
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: