
【算法】概率与期望
文章平均质量分 82
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【AtCoder】AtCoder Grand Contest 020
比赛链接点击打开链接官方题解点击打开链接Problem A. Move and Win注意到棋盘是二分图,任意一方玩家移动时,对手棋子所在位置的颜色与己方棋子所在位置颜色是否相同是确定的。那么一定有一方在移动时,对手棋子所在位置的颜色与己方棋子所在位置颜色是相同的,从而该玩家不可能被对手阻挡。那么,该玩家只需每一步都向对手棋子的方向走就可以确保胜利。时间复杂度 O(1)O(1)O(...原创 2019-09-02 20:36:32 · 411 阅读 · 0 评论 -
【LOJ2552】「CTSC2018」假面
【题目链接】点击打开链接【思路要点】维护每个单位 iii 剩余 jjj 点生命值的概率 pi,jp_{i,j}pi,j 即可。对于操作 000 ,直接更新概率,复杂度为 O(N)O(N)O(N) 。对于操作 111 ,分别考虑每个单位 iii 被命中的概率,我们需要计算除 iii 以外剩余单位有 xxx 个的概率 qi,xq_{i,x}qi,x ,注意到加入一个单位对 q...原创 2019-04-20 14:26:46 · 281 阅读 · 0 评论 -
【校内训练2019-04-17】Graph
【思路要点】记 PN(k)P_N(k)PN(k) 表示 NNN 的点的图选择 kkk 次,图尚不连通的概率,那么E(Ans)=∑k=0∞PN(k)E(Ans)=\sum_{k=0}^{\infty}P_N(k)E(Ans)=k=0∑∞PN(k)考虑计算 PN(k)P_N(k)PN(k) ,枚举 iii ,选定一个大小为 iii 的不连通的边集,限定 kkk 次选择均在该边集内,则...原创 2019-04-19 14:07:00 · 246 阅读 · 0 评论 -
【LOJ6240】仙人掌
【题目链接】点击打开链接【思路要点】记 xix_ixi 表示点 iii 被选中时,点 iii 所在的连通块共被操作了多少次,则有E(Ans)=E(∑i=1Nxi)=∑i=1NE(xi)E(Ans)=E(\sum_{i=1}^{N} x_i)=\sum_{i=1}^{N} E(x_i)E(Ans)=E(i=1∑Nxi)=i=1∑NE(xi)考虑计算 xix_ixi ...原创 2019-04-13 15:14:08 · 1155 阅读 · 0 评论 -
【校内训练2019-04-12】绝对伏特加
【思路要点】考虑 ∏aiF\prod a_i^F∏aiF 的组合意义,即对于每一种颜色,找到一个关键点,重复 FFF 次。考虑交换求和顺序,我们首先决定每种颜色被找到的关键点,剩余的没有被选中的位置任意涂色。令关键点的指数型生成函数为 G(x)=∑i=0kS(k,i)×i!i!xi=∑i=0kS(k,i)xiG(x)=\sum_{i=0}^{k}\frac{S(k,i)\times i...原创 2019-04-17 13:37:55 · 338 阅读 · 0 评论 -
【LOJ3042】「ZJOI2019」麻将
【题目链接】点击打开链接【思路要点】首先考虑如何判断一副牌是否胡牌。我们可以用动态规划来解决该问题,可以参考 【CodeForces】CodeForces Global Round 1 题解 一文中 DDD 题的解法,我们可以计算一副牌最多可以组成的面子数,再记一维状态表示是否组成过对子即可。回到原题,我们将上述 dpdpdp 的状态、数值全部压入状态,看做当前 dpdpdp...原创 2019-04-02 21:14:03 · 2139 阅读 · 2 评论 -
【AtCoder】ExaWizards 2019 题解
【比赛链接】点击打开链接【题解链接】点击打开链接**【A】**Regular Triangle【思路要点】判断是否 A=B=CA=B=CA=B=C 。时间复杂度 O(1)O(1)O(1) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2e5 + 5;ty...原创 2019-03-31 11:21:18 · 742 阅读 · 0 评论 -
【AtCoder】AtCoder Grand Contest 032 题解
【比赛链接】点击打开链接【题解链接】点击打开链接【A】 Limited Insertion【思路要点】考虑时间倒流,对于一个位置 iii ,若 ai=ia_i=iai=i ,则可以将其删去,问是否能将序列删空。不难发现每次删除最大的 iii ,使得 ai=ia_i=iai=i 是唯一的最优策略,模拟之,若无法操作则无解。时间复杂度 O(N2)O(N^2)O(...原创 2019-03-26 17:03:00 · 778 阅读 · 0 评论 -
【LOJ6406】「ICPC World Finals 2018」绿宝石之岛
【题目链接】点击打开链接【思路要点】假设最后第 iii 个人多获得了 aia_iai 枚绿宝石,其中 ∑ai=d\sum a_i=d∑ai=d ,考虑这种情况发生的概率。总共的情况数为 (N−1+d)!(N−1)!\frac{(N-1+d)!}{(N-1)!}(N−1)!(N−1+d)! ,其中得到上述局面的情况数为 (∑ai))!∏ai!∗∏ai!=d!\frac{(\...原创 2019-03-23 11:33:40 · 886 阅读 · 0 评论 -
【LOJ3119】「CTS2019」随机立方体
【题目链接】点击打开链接【思路要点】考虑如下计算方式:任选 kkk 个三维坐标互不相等的位置,规定它们的大小关系,则对于每一个位置,都有至多一个限制,要求该值小于另一位置的值,这样的关系形成了一棵树,可以通过计算树的拓扑排序数来得到这 kkk 个位置均为极大点的概率,记所有选法的概率和为 func(k)func(k)func(k) 。对于一个具有 iii 个极大点的方案,它会...原创 2019-05-30 13:24:50 · 272 阅读 · 0 评论 -
【LOJ3124】「CTS2019」氪金手游
【题目链接】点击打开链接【思路要点】考虑给出的图为外向树的情况,各个点都需要早于子树中所有的点,记 sizeisize_isizei 表示 iii 子树中所有点的 wiw_iwi 之和,则获奖概率为∏i=1Nwisizei\prod_{i=1}^{N}\frac{w_i}{size_i}i=1∏Nsizeiwi对所有 wiw_iwi 的分布进行背包即可。给出的...原创 2019-05-30 16:51:44 · 512 阅读 · 0 评论 -
【CodeForces1153F】Serval and Bonus Problem
【题目链接】点击打开链接【思路要点】不妨令线段长为 111 ,最后将答案乘以 lll 。记 p(x)p(x)p(x) 表示坐标 xxx 被包含的概率,则有 E(Ans)=∫01p(x)dxE(Ans)=\int_{0}^{1}p(x)dxE(Ans)=∫01p(x)dx不难发现 p(x)=∑i=kN(Ni)(2x(1−x))i(x2+(1−x)2)N−ip(x)=\sum_...原创 2019-08-25 11:48:08 · 279 阅读 · 0 评论 -
【CodeForces1205E】Expected Value Again
【题目链接】点击打开链接【思路要点】一个字符串存在 borderborderborder iii 等价于其存在周期 N−iN-iN−i 。记 p(i)p(i)p(i) 表示是否存在周期 iii ,由期望的线性性,答案即为 ∑i,jE(p(i)p(j))\sum_{i,j}E(p(i)p(j))∑i,jE(p(i)p(j)) 。考虑枚举 i,ji,ji,j ,如何计算 E(p...原创 2019-08-24 15:18:06 · 568 阅读 · 0 评论 -
【2019 江苏省队集训】Day1 解题报告
【T1】 光影交错【思路要点】NNN 轮后仪式仍然进行的概率为 (1−p)N(1-p)^N(1−p)N ,当 p=10−5p=10^{-5}p=10−5 时,取 N>107N>10^7N>107 可以保证该概率在 10−2010^{-20}10−20 以内,因此忽略这部分情况不会导致精度要求不能接受的误差产生。记 f(i)f(i)f(i) 表示出现 ii...原创 2019-07-02 14:13:33 · 1440 阅读 · 1 评论 -
【校内训练2019-06-18】再放送
【思路要点】树形 dpdpdp ,记 ansi,0/1ans_{i,0/1}ansi,0/1 表示仅考虑 iii 为根的子树(即删除 iii 的父边),且 iii 点被经过了 1/21/21/2 次,子树内的点均未被经过时,答案的期望。显然 ansi,1=1d∑x∈s(i)ansx,0ans_{i,1}=\frac{1}{d}\sum_{x\in s(i)}ans_{x,0}ansi,1...原创 2019-06-18 14:45:02 · 308 阅读 · 0 评论 -
【LOJ2251】「ZJOI2017」树状数组
【题目链接】点击打开链接【思路要点】考虑 Add(x)Add(x)Add(x) 何时会对 Find(y)Find(y)Find(y) 产生影响。不难发现,当且仅当 x≥yx\geq yx≥y , Add(x)Add(x)Add(x) 会对 Find(y)Find(y)Find(y) 产生影响。因此 Find(y)Find(y)Find(y) 实际上维护了数组的后缀和。对于询...原创 2019-06-22 14:43:39 · 316 阅读 · 0 评论 -
【校内训练2019-06-17】随机除法
【思路要点】记 N=p1k1p2k2…pnknN=p_1^{k_1}p_2^{k_2}\dots p_n^{k^n}N=p1k1p2k2…pnkn ,则答案显然只和 (k1,k2,…,kn)(k_1,k_2,\dots,k_n)(k1,k2,…,kn) 有关,并且排序后不同的数组在 N≤1024N\leq 10^{24}N≤1024 时约有 1.7×1051.7\times1...原创 2019-06-17 19:48:15 · 640 阅读 · 0 评论 -
【省内训练2019-06-02】担心
【思路要点】可以发现,选取相邻的人的过程与单挑的胜负是无关的,且是等概率的。因此可以考虑计算全部 (N−1)!(N-1)!(N−1)! 种选取相邻的人的方式中 kkk 号玩家胜利的概率之和。注意到由于 kkk 号玩家不能失败,其两侧的游戏可以看做是独立的,最后乘以一个选取顺序数的组合数即可合并两侧的概率和。考虑动态规划,记 dpi,j,0/1dp_{i,j,0/1}dpi,j,0/1...原创 2019-06-04 16:29:39 · 232 阅读 · 0 评论 -
【LOJ3045】「ZJOI2019」开关
【题目链接】点击打开链接【思路要点】无视结束条件,令 iii 步之后状态全零的概率的指数型生成函数为 F(x)F(x)F(x) ,对应的普通型生成函数为 f(x)f(x)f(x) ,记 S=∑piS=\sum p_iS=∑pi ,则有 F(x)=∏i=1Nexp(piSx)+(−1)siexp(−piSx)2F(x)=\prod_{i=1}^{N}\frac{exp(\frac...原创 2019-06-15 15:38:39 · 459 阅读 · 0 评论 -
【LOJ6403】「ICPC World Finals 2018」赶飞机
【题目链接】点击打开链接【思路要点】将每一辆公交车的出发站,出发时间、目标站,到达时间视为关键点,按照时间从大到小 dpdpdp 即可。时间复杂度 O(MLogM)O(MLogM)O(MLogM) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2e6 + 5;type...原创 2019-03-19 11:11:42 · 371 阅读 · 0 评论 -
【USACO】2019 February Contest, Platinum题解
**【T1】**Cow Dating【题目链接】点击打开链接【题解链接】点击打开链接【思路要点】考虑如何快速计算一个区间 [l,r][l,r][l,r] 的价值。定义二元组 (x,y)(x,y)(x,y) 来描述一个区间, xxx 表示区间中恰好有一个关键点的概率, yyy 表示区间中没有关键点的概率。显然,对于两个区间 (x1,y1),(x2,y2)(x_1,y...原创 2019-02-27 10:33:59 · 1335 阅读 · 1 评论 -
【BZOJ4204】取球游戏
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 1005#define MAXLOG 32int n, m, K;double f[2][MAXN], matrix[MAXLOG][MAXN][MAXN];int main() { scanf("%...原创 2018-03-20 20:02:53 · 261 阅读 · 0 评论 -
【BZOJ1419】Red is good
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 5005double f[2][MAXN];int n, m;int main() { scanf("%d%d", &n, &m); for (int i = 1; i <= n...原创 2018-03-20 15:44:51 · 290 阅读 · 0 评论 -
【BZOJ4872】【SHOI2017】分手是祝愿
【题目链接】点击打开链接【思路要点】几点显然的性质:1、最少的操作次数为从大向小一次操作亮着的灯泡共用的次数。2、上述的操作的灯泡集合是唯一的,并且操作顺序不影响结果。3、操作集合外的灯泡后,一定要再操作一次,将其复原。由此,我们首先求出最小操作次数\(cnt\),令\(f_i\)为操作集合中有\(i\)个灯泡,期望的操作次数。则有\(\begin{equation} \left\{ ...原创 2018-03-24 11:50:09 · 642 阅读 · 0 评论 -
【BZOJ4008】【HNOI2015】亚瑟王
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 255#define MAXM 255double p[MAXN], d[MAXN];double f[MAXN][MAXM], q[MAXN][MAXM];int main() { int T; ...原创 2018-03-16 10:41:04 · 365 阅读 · 0 评论 -
【BZOJ3036】绿豆蛙的归宿
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 100005struct edge {int dest, len; };vector <edge> a[MAXN];int n, m, d[MAXN], o[MAXN], q[MAXN], t...原创 2018-03-16 10:07:11 · 704 阅读 · 0 评论 -
【BZOJ3270】博物馆
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 25#define MAXP 405#define EPS 1e-7bool mp[MAXN][MAXN];double p[MAXN], a[MAXP][MAXP], x[MAXP];int d[M...原创 2018-03-16 09:17:38 · 473 阅读 · 0 评论 -
【BZOJ3143】【HNOI2013】游走
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 505#define MAXM 250005#define EPS 1e-7int n, m, d[MAXN], u[MAXM], v[MAXM];double a[MAXN][MAXN], x[MAX...原创 2018-03-15 19:42:05 · 310 阅读 · 0 评论 -
【BZOJ2318】【SPOJ4060】Game with Probability Problem
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 5005#define DONE 1000double f[MAXN], g[MAXN];int main() { int T; scanf("%d", &T); while (T--) {...原创 2018-03-15 17:37:14 · 208 阅读 · 0 评论 -
【BZOJ3450】【TYVJ1952】Easy
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 300005char s[MAXN];long double f[MAXN], g[MAXN];int main() { int n; scanf("%d", &n); scanf("\n%...原创 2018-03-15 15:26:46 · 252 阅读 · 0 评论 -
【BZOJ1426】收集邮票
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 10005double f[MAXN], g[MAXN];int main() { int n; scanf("%d", &n); double m = n; for (int i = 1;...原创 2018-03-15 13:28:52 · 371 阅读 · 0 评论 -
【BZOJ3566】【SHOI2014】概率充电器
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 500005#define EPS 1e-12struct edge {int dest; double p; };vector <edge> a[MAXN];unsigned father...原创 2018-03-21 19:35:49 · 245 阅读 · 0 评论 -
【BZOJ3470】Freda’s Walk
【题目链接】点击打开链接【思路要点】DP计算出不删边时每个点出发的期望路径长度以及从起始点经过每个点的概率。枚举删除的边,重新计算该边出点的期望路径长度,并计算其变化量,乘以经过该点的概率,与答案取最大值。时间复杂度\(O(N+M)\)。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 10005;co...原创 2018-04-12 13:26:16 · 331 阅读 · 0 评论 -
【CodeForces850F】Rainbow Balls
【题目链接】 点击打开链接 【思路要点】 考虑枚举最后剩下的一种球是哪一种球。 令sum=∑Ni=1aisum=∑i=1Naisum=\sum_{i=1}^{N}a_i,问题被转化为了今有aiaia_i个黑球和sum−aisum−aisum-a_i个白球,在最后剩下黑球的情况下期望的操作步数。 设fifif_i表示当前有iii个黑球和sum−aisum...原创 2018-06-30 21:24:34 · 416 阅读 · 0 评论 -
【USACO】2018 December Contest, Platinum题解
**【T1】**Balance Beam【题目链接】点击打开链接【题解链接】点击打开链接【思路要点】考虑一个指数暴力,首先枚举每一个位置选择操作 111 还是操作 222 。记 EiE_iEi 表示从 iii 出发的期望收益。若在 iii 处选择操作 222 ,那么 Ei=AiE_i=A_iEi=Ai ,否则,令 iii 之前第一个选择操作 222 的点为 ...原创 2019-01-20 17:42:23 · 789 阅读 · 1 评论 -
【CodeForces】Hello 2019 (Div. 1 + Div. 2) 题解
【比赛链接】点击打开连接【题解链接】点击打开链接**【A】**Gennady and a Card Game【思路要点】按照题意模拟。时间复杂度 O(1)O(1)O(1) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2e5 + 5;typedef lo...原创 2019-01-09 13:01:13 · 957 阅读 · 2 评论 -
【省内训练2018-12-21】Chocolate
【思路要点】首先,定义 ttt 次成功率为 ppp 的操作恰好成功 xxx 次的概率为 ft,p(x)f_{t,p}(x)ft,p(x) ,有 ft,p(x)=px(1−p)t−x(tx)f_{t,p}(x)=p^x(1-p)^{t-x}\binom{t}{x}ft,p(x)=px(1−p)t−x(xt) 。对于任意一行,留下的部分是区间 [l,r][l,r][l,r] 的概率为 ...原创 2018-12-22 16:59:54 · 358 阅读 · 0 评论 -
【CodeForces553E】Kyoya and Train
【题目链接】点击打开链接【思路要点】考虑一个暴力 dpdpdp ,记 dpi,jdp_{i,j}dpi,j 表示在点 iii 处,时刻 jjj 最优决策的期望花费。则有dpi,j={x+dist(i,N)j&amp;gt;T0i=N,j≤TMini⇒e∈E{costi,e+∑k=1tpi,e,k∗dpe,j+k}i≠N,j≤Tdp_{i,j}=\left\{\begin{a...原创 2018-11-19 12:30:06 · 441 阅读 · 0 评论 -
【CodeChef】Painting Tree
【题目链接】点击打开链接【思路要点】我们发现直接解决问题难以入手。回忆期望的定义,有 E=∑i=1VP(x=V)∗V=∑i=1VP(x≥i)E=\sum_{i=1}^{V}P(x=V)*V=\sum_{i=1}^{V}P(x≥i)E=∑i=1VP(x=V)∗V=∑i=1VP(x≥i) 。记树上不同的路径数为 cntcntcnt ,注意到若操作步数确定为 iii ,那么 P...原创 2018-11-04 10:35:30 · 574 阅读 · 0 评论 -
【LOJ2263】「CTSC2017」游戏
【题目链接】点击打开链接【思路要点】仿照题目的第二问的解法,我们先来考虑本题的平方做法。令 BBB 表示事件 xi=1x_i=1xi=1 ; AAA 表示事件 xj=cx_j=cxj=c ,其中 jjj 是 iii 之前第一个确定的事件,若 iii 之前没有确定的事件,则 j=0j=0j=0 ; CCC 表示事件 xk=cx_k=cxk=c ,其中 kkk 是 iii 之...原创 2018-11-01 18:27:36 · 942 阅读 · 0 评论