摘要: 求期望注意期望的定义,这题我们可以分正负数情况,设所求期望为E 正数: 1/n*x_i 负数:1/n*(E+x_j) 此时概率为1/n,根据期望定义,他回到起点后出去的期望为E,花费回起点的时间为x_j,也就是该点的取值情况 整理上式 E = sum / cnt_i sum是所有绝对值和, cnt_ 阅读全文
posted @ 2020-02-21 21:07 GRedComeT 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 设dp_i为所求答案,每次选择因数的概率相同,设i有x个因数,dp_i=sum(1/x*x_j)+1,(x_j表示第j个因数),那我们就预处理每个数的因数即可,T=10000,需要预处理出答案 #include<bits/stdc++.h> using namespace std; #define 阅读全文
posted @ 2020-02-21 16:56 GRedComeT 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 设dp_i为已经出现了i面,需要的期望次数,dp_n=0 那么dp_i= i/n*dp_i + (n-i)/n*dp_(i+1) + 1 现在已经i面了,i/n的概率再选择一次i面,(n-i)/n的概率选到新的一面,分别乘其期望次数,并且这次丢过,所以+1 #include<bits/stdc++. 阅读全文
posted @ 2020-02-21 14:50 GRedComeT 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 题目链接 本题很像bash博弈,但又有些许不同,因为这里是乘法,我们可以列出前几项可能 若n=2-9,那么first可以一次取完 若n=10-18,无论first怎么取,second都能一次取完 若n=19-162,那么无论second怎么取,first都能一次取完 若n=163-324 secon 阅读全文
posted @ 2020-02-21 13:49 GRedComeT 阅读(78) 评论(0) 推荐(0) 编辑