Easy Time Limit: 10 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a*a分,comb就是极大的连续o. 比如ooxxxxooooxxx,分数就是2*2+4*4=4+16=20. Sevenkplus闲的慌就…
前言:学长讲的太神了:自己还能推出来DP式子,挺开心. -------------------------- 题目链接 题目大意:给定一张含有$n$个结点$m$条边的无向连通图.现在聪聪在点$s$,可可在点$t$.每秒钟可可能等概率走向相邻的结点或原地不动,而聪聪总是向更靠近可可的地方沿最短路走两步(如果走一步就能找到可可就不往下走了).问聪聪找到可可的时间的期望.$n,m\leq 1000$ ---------------------- 我们首先解决第一个限制条件:沿最短路走. 假设聪聪目前在…
题面戳我 Solution 期望的题目真心不太会 定义状态\(f[i]\)表示到第\(i\)期望长度,\(dp[i]\)表示期望分数 如果上一步的持续\(o\)长度为\(L\),那么贡献是\(L^2\),现在长度为\(L+1\),贡献是\(L^2+2*L+1\),那么添加量就是\(2*L+1\) 所以我们可以得到转移方程: \(ch[i]==o\) 时,\(f[i]=f[i-1]+1 ~~~~~~~~~~~ dp[i]=dp[i-1]+f[i-1]*2+1\) \(ch[i]==x\) 时,\(…
[BZOJ3450]Tyvj1952 Easy 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%的可能性,用?号来表示.比…
题目链接 Solution Wa,我是真的被期望折服了,感觉这道题拿来练手正好. DP的难度可做又巧妙... 我们定义: \(f[i]\) 代表到第 \(i\) 次点击的时候的最大答案. \(g[i]\) 代表到第 \(i\) 此点击的 \(o\) 的期望长度. 然后看转移: 1.此时为 \(o\) ,那么我可以直接计算答案. 由于 \((x+1)^2=x^2+2x+1\) ,所以我们得到转移方程: \[f[i]=f[i-1]+2*g[i-1]+1\] 同时由于此时 \(o\) 的长度已经增加,…
题目链接 /* 设f[i]为到i的期望得分,c[i]为到i的期望连续长度 则若s[i]=='x',f[i]=f[i-1], c[i]=0 s[i]=='0',f[i]=f[i-1]+2*c[i-1]+1, c[i]=c[i-1]+1 (因为 (l+1)^2 = l^2+2l+1 -> (l+1)^2-l^2 = 2l+1,连续长度+1会对答案多贡献2l+1) (有点疑惑为什么是c[i-1]...不过写出来确实是.每一次+2l+1 实际已经与前面已有的连续长度 构成(l+1)^2 的贡献 也就是说…
维护$x$和$x^2$的期望递推即可 #include <map> #include <ctime> #include <cmath> #include <queue> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define F(i,j,k) for (i…
题目:https://www.luogu.org/problemnew/show/P1365 平方和怎样递推? 其实就是 (x+1)^2 = x^2 + 2*x + 1: 所以我们要关注这里的 x ——连续的 o 的期望长度: 另开一个数组 d 记录期望长度,转移即可. 代码如下: #include<iostream> #include<cstdio> #include<cstring> using namespace std; ; int n; double f[ma…
和之前一样考虑这个音符时x还是o,如果是x,是否是新的连续一段,对答案的贡献是多少$(a^2-{(a-1)}^2)$,然后递推就可以了. #include <bits/stdc++.h> using namespace std; ]; ],l[]; int main() { int n,i; scanf("%d",&n); scanf(); ;i<=n;++i) { ]+*l[i-]+,l[i]=l[i-]+; ]; ]+l[i-]+]+)/; } print…
题面 luogu 题解 一道复杂的期望\(dp\) 思路来源:__stdcall 容易想到,只要把每张牌打出的概率算出来就可以求出\(ans\) 设\(fp[i]\)表示把第\(i\)张牌打出来的概率 可知:\(fp[0] = 1-(1-p[0])^r\) (\((1-p[0])^r\)即一直不打出的概率) 后面的\(fp\)怎么求? 设\(f[i][j]\)表示前\(i\)张牌一共出了\(j\)张的概率, 那么就会有 \(fp[i] = \sum_{j=0}^{r}f[i-1][j]*(1-(…