传送门 一道有意思的期望dp. 题意是给出一棵树,每个点最开始都有一个gg的概率,有m次修改,每次修改会把某个点gg的概率更换掉,让你求出每次修改之后整个树被分成的连通块的数量的期望(gg掉的点不算). %%%%dzyo神仙. 考虑每个点对答案的贡献. 一个点对答案有贡献当且仅当它的父亲gg且它自己没有gg. 于是这样所有加起来就是一次询问的答案. 接着考虑如何解决多次询问. 每次修改一个点的点权,只会影响它的儿子与父亲对答案的贡献. 因此我们直接维护一个sum数组表示所有儿子不gg的期望之和.…
传送门 期望dp简单题啊. 不过感觉题意不太对. 手过了一遍样例发现如果有捷径必须走. 这样的话就简单了啊. 设f[i]" role="presentation" style="position: relative;">f[i]f[i]表示从第i个格子出发到第n个格子的期望步数. 显然就可以从f[i+1]~f[i+6]转移过来了,注意如果f下标超过n期望步数都是0. 代码: #include<bits/stdc++.h> #define…
描述 有n种不同的邮票,皮皮想收集所有种类的邮票.唯一的收集方法是到同学凡凡那里购买,每次只能买一张,并且 买到的邮票究竟是n种邮票中的哪一种是等概率的,概率均为1/n.但是由于凡凡也很喜欢邮票,所以皮皮购买第k 张邮票需要支付k元钱.现在皮皮手中没有邮票,皮皮想知道自己得到所有种类的邮票需要花费的钱数目的期望. 输入 一行,一个数字N,N<=10000 输出 要付出多少钱. 保留二位小数 样例输入 3 样例输出 21.25 标签 bzoj1426 期望dp好题. 这题貌似要倒起推状态. 我们用…
传送门 期望dp经典题. 显然只需要算出每个点被染黑的期望步数. 点i被染黑的期望是1/(1到i这条链上的节点数)" role="presentation" style="position: relative;">1/(1到i这条链上的节点数)1/(1到i这条链上的节点数) 于是就做完了. 代码: #include<bits/stdc++.h> #define N 100005 using namespace std; inline in…
传送门 期望dp好题. f[i]表示摆放i个的最小花费,于是f[i]可以从f[j]与f[i-j+1]转移过来了. 代码: #include<bits/stdc++.h> #define N 1005 using namespace std; int n; double L,R,f[N]; inline double min(double a,double b){return a<b?a:b;} int main(){ while(scanf("%d",&n)&…
时间:2018.10.09地点:北京金隅喜来登大酒店…
Regex reg = new Regex(@"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"); if (!reg.IsMatch(txtorgqty.Text)) "^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正…
传送门 简单期望dp. 感觉跟Easy差不多,就是把平方差量进阶成了立方差量,原本维护的是(x+1)2−x2" role="presentation" style="position: relative;">(x+1)2−x2(x+1)2−x2的期望. 现在维护的是(x+1)3−x3" role="presentation" style="position: relative;">(x+1)3−…
Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就是极大的连续o. 比如ooxxxxooooxxx,分数就是2*2+4*4=4+16=20. Sevenkplus闲的慌就看他打了一盘,有些地方跟运气无关要么是o要么是x,有些地方o或者x各有50%的可能性,用?号来表示. 比如oo?xx就是一个可能的输入. 那么…
传送门 一道无脑的期望dp. 用f[i][j][0/1]表示前i堂课提出了j次申请且第i堂课没有(有)提出申请. 这样就可以状态转移了. 然而这题状态转移方程有点长... (主要是情况多... 代码: #include<bits/stdc++.h> #define N 2005 #define P 305 using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(!isdigit(ch))ch=get…