hdu 4811 Ball(数学)
2014-05-16 20:01
405 查看
题目链接:hdu 4811 Ball
题目大意:有三种颜色的球若干,每次向桌子上放一个球,保证是一条序列,每次放球的得分为当前放入序列的球的前面有多少种不同的颜色a,后面的有多少种不同的颜色b,a+b。问说给定球的数量后,最大得分为多少。解题思路:因为放球顺序是自己定的,所以我们可以尽量早得构造一个序列,使得后面放入球的得分均保持在峰值。那么求峰值就要根据球的数量来决定。我们叫得分为峰值的求为最高得分球,它们有很多个。对于一种颜色来说:0个,表示不能为在最高得分球的左边和右边,换句话来说,就是不能创造得分;1个,要么在左要么在右,创造一个得分;2个左右各一,创造两个得分;2个以上,一边有两个没有意义,所以还是两个得分。
于是峰值即被求出来了,剩下的就简单多了。
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; typedef long long ll; inline ll cal (ll u) { if (u <= 2) return u; else return 2; } int main () { ll R, Y, B; while (cin >> R >> Y >> B) { ll h = cal(R) + cal(Y) + cal(B); ll n = R + Y + B; ll ans = 0; for (ll i = 0; i < n && i < h; i++) ans += i; if (n > h) ans += h * (n-h);; cout << ans << endl; } return 0; }
相关文章推荐
- HDU 4811 Ball
- HDU 4811 Ball(水)
- HDU 4811 Ball(贪心)
- hdu 4811 Ball 思维题
- HDU 4811 Ball(贪心)
- HDU-5821-Ball-数学题
- hdu 4811 Ball
- hdu-4811 Ball
- HDU 4811 Ball(公式)
- [思路] hdu 4811 Ball
- HDU 4811 Ball -2013 ICPC南京区域现场赛
- hdu 4811 数学 不难
- hdu 4811 数学 不难
- [思考] hdu 4811 Ball
- HDU 4811 Ball 贪心
- HDU 1943 Ball bearings(简单数学问题)
- HDU-4811 Ball 想法题
- HDU 4811——Ball
- HDU:2277 Change the ball(水)(数学)
- hdu 5391 Zball in Tina Town (数学)