HDU - 4811 - Ball (思维)
题意:
给出一定数量的三种颜色的球,计算如何摆放得到值最大(有一定顺序)
有三种摆放方法
1、如果放的是第一个(桌子上原来没有),数值不变
2、如果在末尾追加一个,那么增加前面不同颜色的个数的值
3、如果在两个之间放置,那么增加两边不同颜色的个数的值
思路:
b蓝 r红 y黄
三种摆放方法可以理解为两种,2和3归为一种。
寻求最大值的话,一定是每次在中间放置球,这样得到的值更大
首先,如果每个球大于2个的话,就是说可以拿出部分球摆成以下这样情况
brybry,两边都有3种颜色,剩下的球全部放在yb之间,每次增加6
那么只需要计算 (总数-6)* 6 + 摆放6个时得到的分数
若有颜色不到2个,那么一开始两边摆的球的颜色数就会减少
设此时两边的颜色总数和为a,那么后面每个加入的球放中间都能得到a分
即
ans=(总的球数-先摆的球数)*a+b(b为先摆的过程中所获得的得分)
那么b怎么计算呢,在摆放最开始几个球的时候,会发现是一个等差数列,1,2,3...
所以我们直接用等差数列求和就可以得出b的值了
b=(0+先摆的球数-1)*先摆的球数/2
#include<iostream>
using namespace std;
typedef long long ll;
ll deal(ll x) {
return x > 2 ? 2 : x;
}
int main() {
ll a, b, c;
while (~scanf("%lld %lld %lld", &a, &b, &c)) {
ll index = deal(a) + deal(b) + deal(c);
ll sum = a + b + c - index;
ll ans = sum * index + index * (index - 1) / 2;
printf("%lld\n", ans);
}
return 0;
}
HDU - 4811 - Ball (思维)的更多相关文章
- HDU 4811 Ball 贪心
题目链接: 题目 Ball Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) 问题描述 ...
- hdu 5821 Ball 思维题
Ball Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submis ...
- HDU 4811 Ball -2013 ICPC南京区域现场赛
题目链接 题意:三种颜色的球,现给定三种球的数目,每次取其中一个放到桌子上,排成一条线,每次放的位置任意,问得到的最大得分. 把一个球放在末尾得到的分数是它以前球的颜色种数 把一个球放在中间得到的分数 ...
- [思考] hdu 4811 Ball
意甲冠军: 有三种颜色的小珠,每种颜色的量R,Y,B 转球进入桌面成序,有多少种不同的颜色分别砍下的球在球门前+有多少身后球不同的颜色 问:最大的总比分值 思考: 球和后面的球先放好.剩下的就放中间了 ...
- Ball HDU - 4811
Jenny likes balls. He has some balls and he wants to arrange them in a row on the table. Each of tho ...
- hdu 4811 数学 不难
http://acm.hdu.edu.cn/showproblem.php? pid=4811 由于看到ball[0]>=2 && ball[1]>=2 && ...
- HDU 5821 Ball (排序)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5821 有n个盒子,每个盒子最多装一个球. 现在进行m次操作,每次操作可以将l到r之间盒子的球任意交换. ...
- HDU 5821 Ball (贪心)
Ball 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5821 Description ZZX has a sequence of boxes nu ...
- hdu 5821 Ball 贪心
Ball 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5821 Description ZZX has a sequence of boxes nu ...
随机推荐
- JS实现购物车动态功能
整理了一下当时学js写的一些案例,觉得购物车功能在一般网站比较常见且基础,现在把它整理出来,需要的小伙伴可以参考一下. 该案例购物车主要功能如下: 1. 商品单选.全选.反选功能 2. 商品添加.删除 ...
- BOM主要对象属性方法总结
BOM window对象 浏览器实例,全局对象 1.窗口位置: screenTop,screenLeft(screenX,screenY):窗口相对于屏幕左边和上边的位置 moveTo(x,y):将窗 ...
- Tinghua Data Mining
Learning Resources 书籍: 期刊: 业界先驱: 开阔视野,掌握业界最新动态. 工具: 数据挖掘是很多学科的综合体: 甭管叫什么名字,归根到底都是数据挖掘: Comprehensive ...
- python入门之运算符
计算运算符 + 加 - 减 * 乘 / 除 % 取模,返回余数 ** 幂 // 取整除,返回商的整数部分 比较运算符 == 比较是否相等 != 比较是否不等于 <> 比较是否不等于 > ...
- 转 造成ORA-01843 无效的月份的一些原因
- 别让CDN的回源把你的服务器拖垮,采用正确的回源策略
我们有一台服务器提供的服务主要是以动态页面为主,静态页面都是固定的内容平时更新的很少,最近这台服务器的应用升级到了新版本访问量增大了不少,随之的问题就来了,最近每天一到9点负载就超过警戒值,然后负载持 ...
- iOS 画圆图片的几种方法
方法一: self.cycleImv= [[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 50, 50)]; [self.view addS ...
- Struts2标签<s:checkboxlist>回显问题
Struts2 checkboxlist回显问题中,说明两种方式,第一种方式很普遍,第二种则是个人根据现有资源加上尝试得来的成果,第二种主要是为个人笔记(其中相关知识点不一一介绍). 一.普通方法: ...
- JavaScript数据格式验证探讨
1.需求 修改某个文本框数据,要求对修改后的格式做验证(必须是数字). 注:实际需求比上述复杂,为了说明问题,这里特意简化了需求(如:对修改后数据依赖条件的判断,数据入库等). 2.关于NaN的探讨( ...
- 基于eclipse搭建android开发环境-win7 32bit
基于eclipse搭建android开发环境-win7 32bit 前言:在使用朋友已搭建的Android开发环境时,发现朋友的开发环境版本较低且在update SDk时失败,便决定根据网上文章提示从 ...