题意:

给出一定数量的三种颜色的球,计算如何摆放得到值最大(有一定顺序)

有三种摆放方法

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 (思维)的更多相关文章

  1. HDU 4811 Ball 贪心

    题目链接: 题目 Ball Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) 问题描述 ...

  2. hdu 5821 Ball 思维题

    Ball Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submis ...

  3. HDU 4811 Ball -2013 ICPC南京区域现场赛

    题目链接 题意:三种颜色的球,现给定三种球的数目,每次取其中一个放到桌子上,排成一条线,每次放的位置任意,问得到的最大得分. 把一个球放在末尾得到的分数是它以前球的颜色种数 把一个球放在中间得到的分数 ...

  4. [思考] hdu 4811 Ball

    意甲冠军: 有三种颜色的小珠,每种颜色的量R,Y,B 转球进入桌面成序,有多少种不同的颜色分别砍下的球在球门前+有多少身后球不同的颜色 问:最大的总比分值 思考: 球和后面的球先放好.剩下的就放中间了 ...

  5. 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 ...

  6. hdu 4811 数学 不难

    http://acm.hdu.edu.cn/showproblem.php? pid=4811 由于看到ball[0]>=2 && ball[1]>=2 && ...

  7. HDU 5821 Ball (排序)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5821 有n个盒子,每个盒子最多装一个球. 现在进行m次操作,每次操作可以将l到r之间盒子的球任意交换. ...

  8. HDU 5821 Ball (贪心)

    Ball 题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5821 Description ZZX has a sequence of boxes nu ...

  9. hdu 5821 Ball 贪心

    Ball 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5821 Description ZZX has a sequence of boxes nu ...

随机推荐

  1. pycharm中模块matplolib生成图表出现中文乱码解决方法

    在python文件中加入如下两行 import matplotlib.pyplot as plt plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中 ...

  2. 后台管理系统·快速开发框架JSite

    平台介绍 框架基于Maven构建,拆分成多个子模块,层次结构清晰.可用于所有Web应用,如企业后台管理系统.OA系统.CMS.CRM等. 框架本身集成了最新的 Flowable工作流引擎 https: ...

  3. mysql ERROR 2003 (HY000): Can't connect to MySQL server on '' (10060

    关闭防火墙即可连接成功: systemctl stop firewalld

  4. python 基础(十三) time模块

    日期和时间 一.time模块 import time 时间戳: 时间戳是指格林威治时间1970年1月1日0时0分0秒至现在的秒数   s(秒).ms(毫秒).μs(微秒).ns(纳秒), ​ 其中:1 ...

  5. Codeforces 1132D(二分模拟)

    要点 二分显然,关键在于怎么判断 题解方法:开k个队列代表每个时间有哪些电脑会挂掉,这部分O(n)预处理一下,之后扫一遍时间,每个时间点贪心选取最靠前的会挂的电脑未雨绸缪给它充电,然后看看充电以后要不 ...

  6. 个人常用Git操作记录

    本地分支与远程分支建立联系 Git - 新建本地分支与远程分支关联问题 查看本地分支与远程分支关系: git branch -vv 当前分支与远程分支建立关系: git branch --set-up ...

  7. 502的错误其实不是nginx的问题,要从后端找原因。php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误。

    502的错误其实不是nginx的问题,要从后端找原因.php-cgi进程数不够用.php执行时间长.或者是php-cgi进程死掉,都会出现502错误.

  8. 轻松把玩HttpClient之配置ssl,采用绕过证书验证实现https

    上篇文章说道httpclient不能直接访问https的资源,这次就来模拟一下环境,然后配置https测试一下.在前面的文章中,分享了一篇自己生成并在tomcat中配置ssl的文章<Tomcat ...

  9. elasticsearch的模糊查询

    https://blog.csdn.net/a772304419/article/details/78951561

  10. 09通过winfrom实现简单的播放音、视频

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...