
概率与期望
文章平均质量分 59
WerKeyTom_FTD
这个作者很懒,什么都没留下…
展开
-
宝藏
题目大意及模型转换给定一颗由N个结点组成的树,并有q组询问,每个询问给定a0,a1…ap,求初始站在a0,接下来去a1,再去a2,一直到ap的期望耗时。每条边经过需要花费一个单位时间,站在一个点上,下一步走动会随机等概率选择一个相邻结点。暴力作法显然答案为每一对从ai到ai+1的期望时间之和。那么我们每次将ai当作根,开始搜索。每一个点我们都设出它前往ai+1的期望时间,然后通过递归处理解出方程,将原创 2015-09-21 22:05:34 · 818 阅读 · 0 评论 -
[UOJ#207]共价大爷游长沙
题目大意一颗会动的树。 有一个点对集合会变。 每次询问一条树边,问集合内所有点对之间的路径是否都经过该边。维护虚边信息的LCT终于无聊来补了这题 每个点对随机一个10^9内的权值 然后给两端点的点权分别异或给权值。 询问一条边是否被全部经过,就是询问每个点对是否都被这条边分开。 那么比如这条边是(u,v),断开后u的子树异或和应该要等于当前所有路径权值异或和。 就可以判了,出错率当然是原创 2017-02-21 15:00:42 · 1096 阅读 · 0 评论 -
[bzoj4574][UOJ#196][ZJOI2016]线段树
题目大意一个随机的序列长度为n。 有m次操作,每次随机选择一个区间[l,r],将这个区间所有数变成最大值。 问每个位置在m次操作后的期望。 答案模1e9+7 n<=400,权值随机DP权值随机的条件可以认为权值互不相同 离散化 我们设sum[i][j]表示第i个位置变成第j小的权值的方案数。 我们一个数一个数的做,设当前做的数是第now小,权值为val[now]。 我们设g[k,i,原创 2017-02-24 22:11:24 · 768 阅读 · 0 评论 -
[bzoj3451]Tyvj1953 Normal
题目大意点分治过程中每次随机选择分治中心。 求期望复杂度。期望的线性性容易知道可以单独考虑每个点的贡献。 对于x和y,我们考虑y能否给x带来1的贡献,即y是否是x在点分树上的祖先。 那么Y必须是x到y上第一个被选择为分治中心的点。 一条路径上每个点成为第一个被选择的点概率均等,因此贡献为1dis(i,j)\frac{1}{dis(i,j)} 答案就是∑ni=1∑nj=11dis(i,j)\原创 2017-04-07 09:39:30 · 1233 阅读 · 0 评论 -
原谅
题目描述终其一生,我们在寻找一个原谅。 犯下了太多错,要原谅的那个人,永远都是自己。 Samjia在深夜中望见了没有边界的人生,他没有想到过自己犯下了这么多的错误,他想在他的一生中寻求一个原谅。 他的人生是一个没有边界的平面,平面上有n个错误,每个错误是一个点,每个点i有一定的坐标(x[i],y[i]),有一个参数p 表示每个点有p的概率出现在平面上,注意两个不同的点的出现互相没有影响,Sam原创 2017-03-30 21:20:10 · 451 阅读 · 0 评论 -
[bzoj4899][WerKeyTom_FTD的模拟赛]记忆的轮廓
某蒟蒻WerKeyTom_FTD的模拟赛第三题《记忆的轮廓》原创 2016-11-03 21:31:02 · 1923 阅读 · 0 评论 -
归并排序
题目大意给一个长度为2的次幂的排列做归并排序,在区间长度为2时比较器会变成随机返回值。 多次操作,每次要么交换两个位置,要么询问归并排序后第x个位置等于排序前第y个位置的概率。做法容易发现,如果x#include<cstdio>#include<algorithm>#define fo(i,a,b) for(i=a;i<=b;i++)#define fd(i,a,b) for(i=a;i>=原创 2017-06-28 20:57:30 · 478 阅读 · 0 评论 -
[JZOJ5136][SDOI省队集训2017]重排
题目大意做法按拓扑序倒序做。 设出边个数为k。 没有自环可以考虑k^2从大到小枚举权值v然后two pointer来计算P(v)表示>=v的概率,最后前缀相减即可。 注意不要写成k^2带log。 这里很麻烦。 有自环可以考虑二分+判定。 具体见代码。#include<cstdio>#include<algorithm>#include<cmath>#define fo(i,a,b)原创 2017-06-09 22:12:37 · 589 阅读 · 0 评论 -
[HAOI2017]供给侧改革
题目描述做法lcp长度不超过t,这个概率为1-(1-1/2^t)^(n^2)。 t可以取40。 离线扫描,把询问挂在右端点。 每一个位置把从它开始后长度为40的字符串丢入trie中。 可以在trie的每一个结点保留当前子树中位置最大的两个。 然后可以线段树维护一发。 每次区间max标记可以考虑暴力,均摊复杂度是对的。 你可能不知道我在说什么因为我说的很不详细。#include<cstd原创 2017-06-10 17:22:57 · 1016 阅读 · 0 评论 -
[美团 CodeM 复赛]配对游戏
题目描述有 nnn 个人排成一排,一开始全部面向前方,然后随机朝左或是朝右转。然后我们不断审查这个队列,每次选择两个面对面的相邻的人,将他们从队列中取出。例如(> 表示向右,< 表示向左):队列 >>><<< 的消除过程为,>>><<< 到 >><< 到 >< 到空队列(每次去除一对)。队列 >><><<<> 的消除过程为,>><><<<> 到 >><<<> 到 ><<> 到 <>(每次去除一对)原创 2017-07-10 10:58:36 · 744 阅读 · 0 评论 -
[2017集训队作业自选题#149]小c的岛屿
前言感觉这题挺棒棒的。题目描述小c有n个岛屿。她为了管理岛上的人,决定让这些岛屿连通。 每个岛屿i有一个概率值pi,和一个友好列表Ai。 小c首先来到了1号岛屿,她会依次执行下面操作: 1、设现在在岛屿x,有px的概率产生一条无向边连接两个随机岛屿,这两个岛屿不会相同,也不会已经有边相连。(即在尚不存在的无向边中随机一条加入图中,不会加自环) 2、如果此时所有岛屿连通,她就会心满意足地离开。原创 2018-01-01 20:22:02 · 1543 阅读 · 2 评论 -
[UOJ#214]合唱队形
题目大意有n个人每个人有一个字符集初始为空。 有tot个事件,每个事件形如在第ai个人的字符集里放了bi这个小写字母。 每个时刻等概率发生一个事件。 有一个长度为m的字符串s。某个时刻如果存在编号连续的m个人,按从小到大的顺序发现对于第i个人字符集里都有si,那么则胜利。 问胜利的期望时间,要求判断无解,答案在模意义下进行。容斥设f(i)f(i)表示时刻i还没有胜利的概率。原创 2017-11-24 12:11:59 · 1072 阅读 · 0 评论 -
箱子
题目描述小猪佩奇和其他n-1个小伙伴们正在玩一个老套的游戏。 一个房间中,有n个随机打乱过的箱子放成一排,每个箱子里有一张纸条,写着一个人的名字。每个人要按一定顺序走进房间,打开最多k个箱子,如果其中没有自己的名字游戏就失败了。每个人走出房间的时候需要关上箱子。(游戏中箱子的顺序不会再被调换)游戏前他们可以商量出一个策略,但是游戏开始之后他们不能互相交流。 小猪佩奇想知道最优策略下游戏成功...原创 2018-05-22 16:15:13 · 824 阅读 · 0 评论 -
序列
题目大意随机序列a。 a0=0。 ai以pi%为ai-1再加1,否则为0。 求序列和的平方的期望。DP设fi表示1~i的和的平方期望,gi则表示和的期望。 根据(a+b)^2=a^2+b^2+2ab fi=∑i−1j=−1(fj+s2[i−j−1]+2∗gj∗s1[i−j−1])∗(1−pj+1)∗Πi−1k=j+2pkfi=\sum_{j=-1}^{i-1}(fj+s2[i-j-1]+2原创 2017-01-15 17:14:42 · 500 阅读 · 0 评论 -
Tree
题目大意有一颗点权树,选择k条点不相交的树路径,价值为覆盖点的点权和除以k+1。 现在你可以给每个点的点权由x变成(x+c)%lim。0<=c<=m。 保证m<lim,x<limm<lim,x<lim。 求最大价值。分数规划先考虑不改变点权或是说点权已知的做法。 怎么做都发现如果要求用几条树路径的最大价值,都无法很快的做。 因此正解肯定不用求用多少每条树路径的最大价值。 考虑分数规划。二原创 2016-12-24 16:47:19 · 519 阅读 · 0 评论 -
[hackerrank]Walking the Longest Path (Approximation Problem)
题目大意求一条尽可能长的哈密顿路径,并输出。 保证存在长度为n的哈密顿路径。 你找的哈密顿路径长度至少为n*0.95且合法即算对。随机算法这个不可做,因此考虑随机算法。 我们随机它个800次! 每次随机一个中间点w,然后从w拓展出两条不相交的路径作为本次搜出的哈密顿路径。 每个点i用一个d[i]表示i有多少出边连向的点不在目前找到的哈密顿路径中,接下来d用度数称呼。 每次对于当前点k,如原创 2016-11-15 16:19:38 · 517 阅读 · 0 评论 -
[bzoj3566][SHOI2014]概率充电器
题目大意N个充电器连成一棵树。 第i个充电器有p[i]的概率直接充电。 每条导线有一定几率可以导电。 可以导电的导线形成的联通块中只要存在直接充电的结点整个联通块的充电器均进入充电状态。 问期望进入充电状态的充电器个数转化为有根树显然可知我们只需要得到f[i]表示i进入充电状态的概率 那么ans=∑f[i]ans=\sum f[i] 我们把无根树变有根树。 设a[i]=P(i与i的父亲原创 2016-03-19 13:13:40 · 808 阅读 · 0 评论 -
[GDKOI2016]不稳定的传送门
题目描述C 国里一共有 N 个城镇,编号为 1 到 N 。其中第 i 个城镇与第 i + 1 个城镇连接着一条收费为 c i 的从 i 到 i + 1 的单向道路 (1 ≤ i < n)。现在,杰杰作为一个旅行者,他的任务就是从第 1 个城镇出发,到达编 号为 N 的城镇。他觉得这样会很无聊,海克斯科技公司也是这么认为的。所以该公司在若干个城镇里设置了 共 M 个单向传送门。每个传送门有 4原创 2016-03-01 21:57:34 · 1257 阅读 · 0 评论 -
[bzoj十连测第三场 A]哈夫曼树
题目描述期望的线性性和的期望=期望的和。 因此计算每个节点期望贡献再加起来即可。 一个结点的期望深度与其数值大小和所在数组位置无关,因此可以一视同仁。 假设还有i颗子树,我们显然知道一个结点肯定处于一颗子树内。只有在该轮其所在子树被合并时深度才会加一,所以贡献为被合并的概率*1。被合并的概率是i−1C2i=2i\frac{i-1}{C_i^2}=\frac{2}{i} 所以答案就是(∑ni=原创 2016-07-12 08:20:29 · 744 阅读 · 0 评论 -
Landlords
题目大意先手有n张牌,后手有m张牌,桌面上还有一张牌。n+m+1张牌互不相同且双方都知晓自己的牌是什么。 两人轮流操作,操作类型有二: 1、说桌面上的牌是什么,说对胜利,说错失败,执行此操作后游戏结束。 2、说一张牌,如果对方手里有则展示并弃置。 求先后手获胜概率。神奇的概率题我们来考虑一下第二个操作,我们可以选择 1、老老实实去试探对方的牌,称之为我是正昊 2、耍小聪明欺骗对方,报一张原创 2016-07-02 11:15:34 · 562 阅读 · 0 评论 -
传球70分做法
题目描述 70分n<=1000dp容易看出被攻略的是连续一段。 设dp[l,r,0~1]表示攻略了[l,r],此时球在哪个端点。 我们需要预处理f与g。 f[i]表示从一个结点走至多走到顺时针走i步的位置情况下走到逆时针走1步的位置的概率。 假设顺时针走1步概率为p。 f[i]=1−p+p∗f[i−1]∗f[i]f[i]=1-p+p*f[i-1]*f[i] 1-p的概率直接走到,否则我原创 2016-07-15 22:03:19 · 431 阅读 · 0 评论 -
CF717D
题目大意现有n个石子堆组成的nim游戏。 每个石子堆中有i个石子的概率都是p(i)的,石子堆之间互相独立。每个石子堆最多100个石子。 问先手有必胜策略的概率。n<=10^9分治假如我们设dp[i,j]表示i个石子堆nim和为j的概率 显然dp[1]=p 那么dp[i]=dp[i-1]Xdp[1] X是一种特殊定义的乘法,具体是这样的 (AXB)[j]=∑127k=0A[k]∗B[j x原创 2016-09-12 21:41:32 · 426 阅读 · 0 评论 -
[CF712D]Memory and Scores
题目大意两个人van游戏,第一个人初始拿了一个数a,第二个人初始拿了一个数b。 它们van了t轮,每轮每人都会在[-k,k]中等概率选一个数加到自己的数中。 问第一个人最后手上的数大于第二个人手上的数的概率。 乘以(2k+1)^t模10^9+7 k<=1000,t<=100,a,b<=1000DP设f[i,j]表示做完i轮,第一个人的分数与第二个人的分数差为j的概率。 我们发现可取区间[-原创 2016-11-03 10:55:16 · 674 阅读 · 0 评论 -
[WerKeyTom_FTD的模拟赛]刻画在历史舞台上的群星
某蒟蒻WerKeyTom_FTD的模拟赛第二题《刻画在历史舞台上的群星》原创 2016-11-03 21:17:09 · 2876 阅读 · 0 评论 -
[51nod 1667]概率好题
题目描述甲乙进行比赛。 他们各有k1,k2个集合[Li,Ri] 每次随机从他们拥有的每个集合中都取出一个数 S1=sigma甲取出的数,S2同理 若S1>S2甲胜 若S1=S2平局 否则乙胜 分别求出甲胜、平局、乙胜的概率。 (显然这个概率是有理数,记为p/q,则输出答案为(p/q)%(1e9+7))(逆元) 注意 多组数据做一做把甲每个集合选的数表示为Ri-xi,0<=xi<=Ri-原创 2016-11-04 15:54:57 · 1026 阅读 · 0 评论 -
灵知的太阳信仰
题目大意每个位置有两个值ai和bi。 给一个序列分成若干连续段,使得每个段内a值互不相同,代价是b的最大值。求最小代价。DP我们思考设fi表示给1~i分段的最小代价。 我们可以处理出ci表示一个最小的k使得[k,i]没有重复a。 这个随便用个桶就实现了吧。。 那么Fi=mini−1j=ci−1(Fj+max(j+1,i))Fi=min_{j=ci-1}^{i-1}(Fj+max(j+1,i)原创 2016-11-10 16:25:44 · 932 阅读 · 0 评论 -
I Liked Matrix!
题目大意有一个矩形,每个位置权值为0或1。每个位置变成0或1的概率比为x:y。 设Bi表示一行1的个数。 求E(min{Bi})容斥设f[i]表示一行有>=i个1的概率。 设zero和one表示一个位置是0或1的概率。 显然f[i]=f[i−1]−Ci−1m∗onei−1∗zerom−i+1f[i]=f[i-1]-C_m^{i-1}*one^{i-1}*zero^{m-i+1} 我们枚举m原创 2016-11-01 14:33:43 · 755 阅读 · 0 评论 -
人生的意义
题目描述NiroBC在温暖的YYHS衣来伸手饭来张口,过着颓废的生活。 终于有一天,她意识到,真正有意义的人生不应该在如此空虚的时光中度过,于是她下定决心,来到了百废待兴的新世界,踏上了寻找人生的意义的旅途。 这个百废待兴的新世界啊真是美妙,绽放着令人惊喜的异彩,NiroBC欢笑着投入了新世界的怀抱,随机的降落在这个新世界中。 这个新世界由N个城市组成(编号原创 2016-11-16 20:26:00 · 837 阅读 · 0 评论 -
抗拒黄泉
题目大意一个n*m的网格上,有一些格子可操作。 每一轮等概率选择一个可操作的格子操作,若选择了(i,j),那么第i行与第j行会被标记为操作过。 求期望轮数使得所有行和所有列均操作过。 n,m<=20,n*m<=200容斥我们用P(i)表示已经过了i轮,还没有使得所有行列均操作过的概率。 那么答案即为 ∑∞i=0(P(i)−P(i+1))∗(i+1)\sum_{i=0}^\infty(P(i原创 2016-11-02 20:46:29 · 769 阅读 · 0 评论 -
随机游走
题目描述YJC最近在学习图的有关知识。今天,他遇到了这么一个概念:随机游走。随机游走指每次从相邻的点中随机选一个走过去,重复这样的过程若干次。YJC很聪明,他很快就学会了怎么跑随机游走。为了检验自己是不是欧洲人,他决定选一棵树,每条边边权为1,选一对点s和t,从s开始随机游走,走到t就停下,看看要走多长时间。但是在走了10000000步之后,仍然没有走到t。YJC坚信自己是欧洲人,他认为是因为他选的原创 2016-11-14 21:06:51 · 2845 阅读 · 2 评论 -
[SRM695-900]BearEmptyCoin
题目大意有一个两面为空的硬币,正面和反面有区别。 你需要甩kkk次,每次其会有一面朝上,如果该面为空,你填一个整数上去,若不为空,获得该分数。 你希望最大化分数和为sss的概率。做法如果s mod k=0s mod k=0s\ mod\ k=0显然我们不管哪面都会填s/ks/ks/k,输出2k2k2^k。 你能决定的是第一次摇到第2个面时,...原创 2018-06-03 15:27:49 · 592 阅读 · 0 评论