[ABC205E] White and Black Balls 题解】的更多相关文章

从神 Karry 的题单过来的,然后自己瞎 yy 了一个方法,看题解区里没有,便来写一个题解 一个常数和复杂度都很大的题解 令 \(dp_{i,j}\) 为 在 \(i\) 个球中选 \(j\) 组的方案数,则显然有转移 \(dp_{i,j}=dp_{i-1,j}+dp_{i-1,j-1}+dp_{i-2,j-1}\) 然后考虑对其优化: 令 \(f_i\) 为 \(dp_i\) 的生成函数,则 \(f_i\) 只与 \(f_{i-1}\) 和 \(f_{i-2}\) 有关,且关系为 \(f_i…
题目大意 鹰蛋问题.$ n\(个蛋,\)m\(层楼. 存在一层楼\)E\(,使得\)E\(以及\)E\(以下的楼层鹰蛋都不会摔碎,问最坏情况下最少多少次能够知道\)E$. 非常经典的模型,初看题目根本想不到用什么方法做,一开始可能会想到二分答案.单调队列和一些线性的东西.但是明确的说:这些都是不可行的! 正确的解法其实是\(DP\) 设计状态: \(f[i][j]\)表示\(i\)个蛋,确定\(j\)层楼的\(E\)的答案. 如果当前在第\(k\)层扔蛋,两种可能: 蛋碎了,那么还剩下\(i-1…
考虑最后变成哪一种颜色. 设 \(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\) 就是最终颜色为这种颜色…
A. Brain's Photos time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Small, but very brave, mouse Brain was not accepted to summer school of young villains. He was upset and decided to postpo…
[HackerRank]Choosing White Balls 题目大意: 有\(n(n\le30)\)个球排成一行,每个球的颜色为黑或白. 执行\(k\)次操作,第\(i\)次操作形式如下: 从\([1,n−i+1]\)中,等概率随机选择一个整数\(x\). 移除从左往右数的第\(x\)个球,或从右往左数的第\(x\)个球.之后,所有右侧的球的编号减\(1\). 给定每个球的颜色信息,求在最优策略下,期望的移除白球数量最大值. 思路: 状压DP+哈希表. 源代码: #include<cstd…
题面 CF755G PolandBall and Many Other Balls 给定 \(n\) 和 \(m\).有一排 \(n\) 个球,求对于每个 \(1\le k\le m\),选出 \(k\) 个球或相邻的球不能重复的方案数. 数据范围:\(1\le n\le 10^9\),\(1\le m<2^{15}\). 路标 这题是老经典题了,前人的描述也足够充分了. 但是蒟蒻尝试了这题的 \(3\) 种做法并记在笔记中后还是忍不住去挣咕值分享给大家. 这是的三种做法对比图(从下到上依次是倍…
Problem Description There are a bunch of stones on the beach; Stone color is white or black. Little Sheep has a magic brush, she can change the color of a continuous stone, black to white, white to black. Little Sheep like black very much, so she wan…
Description Windy has N balls of distinct weights from 1 unit to N units. Now he tries to label them with 1 to N in such a way that: No two balls share the same label. The labeling satisfies several constrains like "The ball labeled with a is lighter…
思路: 友谊赛的时候一直想到了,但是没想出来怎么遍历才能找到所有矩阵,卡住了. 这里讲一下完整思路:我们用一个num[i][j]表示第i行第j列每一列连续的白色格子数量,然后我们定义一个MIN,并且每次都更新MIN的值(因为矩阵高度只和最小的那个有关). 代码: #include<cstdio> #include<vector> #include<stack> #include<queue> #include<cstring> #include&…
蒟蒻__stdcall终于更新博客辣~ 一下午+一晚上=一道计数题QAQ 为什么计数题都这么玄学啊QAQ Prelude 题目链接:这里是传送门= ̄ω ̄= 下面我将分几个步骤讲一下这个题的做法,大家不必一次看完,可以一点一点地推进思路,希望对锻炼大家的思维能力有帮助o( ̄▽ ̄)ブ. Step 1 首先要看出来这是一个计数题对吧... 计数题有很多做法,对于这个题,我们考虑合理枚举,即不重复不遗漏地枚举所有情况,然后乘上一个组合数,并通过前缀和优化来降低复杂度. Step 2 枚举什么东西呢? 我…