考虑最后变成哪一种颜色。

设 \(s = \sum\limits_{i=1}^n a_i\)

设现在有 \(k\) 种当前颜色, 需要全部变成该种颜色, 期望步数为 \(f_k\)。

考虑状态转移。设 \(p\) 为取出两个球颜色不同的概率。

\(f_i = (f_{i+1} + f_{i-1})p + (1 - 2p)f_i + v_i\)

考虑 \(v_i\)。由于我们考虑的 \(dp\) 是要求最后颜色是一定的,所以不能算上答案不是该颜色的答案。所以 \(v_i\) 就是最终颜色为这种颜色的概率。

如果颜色变动了,而让另一种颜色变成该颜色和该颜色变成另一种颜色的概率是一样的,所以 \(v_i = \frac{1}{2}(v_{i-1} + v_{i+1})\)

所以 \(2v_i = v_{i-1} + v_{i+1}\), \(v_{i+1} - v_i = v_i - v_{i-1} (= t)\)

又 \(v_0 = 1, v_s = 1\)

\[1 = v_s - v_0 = \sum\limits_{i=1}^s v_i - v_{i-1} = st
\]

所以 \(t = \frac{1}{s}\), \(v_i = \frac{i}{s}\)

所以\(f_i = (f_{i+1} + f_{i-1})p + (1 - 2p)f_i + \frac{i}{s}\)

\[2pf_i = (f_{i+1} + f_{i-1})p + \frac{i}{s}
\]
\[2f_i = f_{i+1} + f_{i-1} + \frac{\frac{i}{s}}{p}
\]

又 \(p = \frac{i(s-i)}{s(s-1)}\)

\[2f_i = f_{i+1} + f_{i-1} + \frac{\frac{i}{s}}{\frac{i(s-i)}{s(s-1)}}
\]
\[2f_i = f_{i+1} + f_{i-1} + \frac{s-1}{s-i}
\]

当 \(i=1\) 时,不需要考虑 \(f_0\)。\(2f_1 = f_2 -1\)

显然的,\(f_s = 0\)

\[2f_i = f_{i+1} + f_{i-1} + \frac{s-1}{s-i}
\]
\[f_i - f_{i+1} = f_{i-1} - f_i + \frac{s-1}{s-i}
\]
\[f_{i+1} - f_i = f_i = f_{i-1} - \frac{s-1}{s-i}
\]

而 \(f_1 = f_1 - f_s = \sum\limits_{i=2}^s f_i - f_{i-1}\)

\[=\sum\limits_{i=2}^s (f_1 - f_2) + \sum\limits_{j=2}^{i-1} \frac{s-1}{s-i}
\]
\[= (s-1)(f_1-f_2) + \sum\limits_{i=2}^s\sum\limits_{j=2}^{i-1} \frac{s-1}{s-i}
\]
\[=(s-1)(f_1-f_2) + \sum\limits_{j=2}^{s-1} \frac{s-1}{s-i} * (s-i)
\]
\[=(s-1)(f_1-f_2) + \sum\limits_{j=2}^{s-1} (s-1)
\]
\[=(s-1)(f_1-f_2) + (s-2)(s-1)
\]

而\(f_1 - f_2 = f_1 - (2 f_1 - 1) = 1 - f_1\)

\[f_1 = (s-1)(f_1-f_2) + (s-2)(s-1)
\]
\[f_1 = (s-1)(1-f_1) + (s-2)(s-1)
\]
\[f_1 = s-1 + (s-1)f_1 + (s-2)(s-1)
\]
\[sf_1 = (s-1)^2
\]
\[f_1 = \frac{(s-1)^2}{s}
\]

答案为 \(\sum\limits_{i=1}^n f_{a_i}\)

推到 \(max(a_i)\) 即可。

CF850F Rainbow Balls 题解的更多相关文章

  1. [CF850F] Rainbow Balls

    题目大意 这里 题解 我们枚举最后剩下的球的种类,那么其他球可以看做没用了. 设选定的球有\(a_i\)个,球的总数为\(s=\sum_{i=1}^n a_i\). 现在问题变为:在一个长度为\(s\ ...

  2. CF755G PolandBall and Many Other Balls 题解

    从神 Karry 的题单过来的,然后自己瞎 yy 了一个方法,看题解区里没有,便来写一个题解 一个常数和复杂度都很大的题解 令 \(dp_{i,j}\) 为 在 \(i\) 个球中选 \(j\) 组的 ...

  3. [POJ3783]Balls 题解

    题目大意 鹰蛋问题.$ n\(个蛋,\)m\(层楼. 存在一层楼\)E\(,使得\)E\(以及\)E\(以下的楼层鹰蛋都不会摔碎,问最坏情况下最少多少次能够知道\)E$. 非常经典的模型,初看题目根本 ...

  4. 题解-CF755G PolandBall and Many Other Balls

    题面 CF755G PolandBall and Many Other Balls 给定 \(n\) 和 \(m\).有一排 \(n\) 个球,求对于每个 \(1\le k\le m\),选出 \(k ...

  5. POJ 3687 Labeling Balls(拓扑排序)题解

    Description Windy has N balls of distinct weights from 1 unit to N units. Now he tries to label them ...

  6. 【题解】Popping Balls AtCoder Code Festival 2017 qual B E 组合计数

    蒟蒻__stdcall终于更新博客辣~ 一下午+一晚上=一道计数题QAQ 为什么计数题都这么玄学啊QAQ Prelude 题目链接:这里是传送门= ̄ω ̄= 下面我将分几个步骤讲一下这个题的做法,大家不 ...

  7. 洛谷 CF399B【Red and Blue Balls】题解

    n年没有更博客:我总结出了规律,当学的东西很难得时候都去学习,没有时间写博客,只有 内容对于我这种蒟蒻友好,又让我非常闲的慌时才写博客,这种博客以后也没有价值(也有些是做完一道题有成就感写的) 最近内 ...

  8. 题解-AtCoder ARC-083F Collecting Balls

    Problem ARC083F 题意概要:给定 \(2n\) 个二维平面上的球,坐标分别为 \((x_i,y_i)\),并给出 \(n\) 个 \(A\)类 机器人 和 \(n\) 个 \(B\)类 ...

  9. Open judge C16H:Magical Balls 快速幂+逆元

    C16H:Magical Balls 总时间限制:  1000ms 内存限制:  262144kB 描述 Wenwen has a magical ball. When put on an infin ...

随机推荐

  1. sk_buff结构--转载

    套接字缓存之sk_buff结构 https://www.cnblogs.com/wanpengcoder/p/7529486.html 来此此处 sk_buff结构用来描述已接收或者待发送的数据报文信 ...

  2. c++与c

    const char* c_str ( ) const; Get C string equivalent Generates a null-terminated sequence of charact ...

  3. MFC窗口通过OpenCV显示图片

    思路非常讨巧,就是将namedWindow创建的窗口的客户区贴到MFC的图片控件里面去,然后将剩下的窗口框架隐藏掉,代码如下: cv::Mat img = cv::imread("./tes ...

  4. jm8.6编解码器概述

    自己在学习h264的路上,欢迎讨论交流. 前段时间研究JM出品的h264编码器,代码实在看不下去,因此换了个角度来研究诸多算法--逆向方式(解码),本系列文章记录一些遇到的东西和思考. 1. JM介绍 ...

  5. DB2 建表,添加字段,删除字段,修改字段等常用操作

    转载:http://blog.sina.com.cn/s/blog_67aaf4440100v01p.html,稍作修改. --创建数据库 create database Etp; --连接数据库 c ...

  6. Docker 初始

    1. Docker 是什么? 官网的介绍是"Docker is the world's leading software container platform." 官方给Docke ...

  7. [原题复现][CISCN 2019 初赛]WEB-Love Math(无参数RCE)[未完结]

    简介  原题复现:  考察知识点:无参数命令执行  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 源码审计 代码 1 ...

  8. exec() has been disabled for security reasons

    1.修改php.ini里面:disable_functions 2.重启服务器 2.如果是虚拟机,就重启虚拟机

  9. ABBYY FineReader 15 文档转换功能

    我们平常工作的时候总会固定地只用某几个文档格式,有的人经常使用office,所以电脑内就没安装PDF阅读器,这个时候就需要文档转换器了,ABBYY FineReader 15 也能够帮助我们实现快速的 ...

  10. Elasticsearch 理解mapping中的store属性

    默认情况下,对字段值进行索引以使其可搜索,但不存储它们 (store). 这意味着可以查询该字段,但是无法检索原始字段值.在这里我们必须理解的一点是: 如果一个字段的mapping中含有store属性 ...