题目: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…
题目背景 原 维护队列 参见P1903 题目描述 某一天\(WJMZBMR\)在打\(osu~~~\)但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有\(n\)次点击要做,成功了就是\(`o`\),失败了就是\(`x`\),分数是按\(combo\)计算的,连续\(a\)个\(combo\)就有\(a\times a\)分,\(combo\)就是极大的连续\(`o`\). 比如\(`ooxxxxooooxxx`\),分数就是\(2 \times 2 + 4 \times…
题目:https://www.luogu.org/problemnew/show/P1365 大水题.记录一下o的期望长度. 关键是(x+1)^2=x^2+2*x+1. #include<iostream> #include<cstdio> #include<cstring> using namespace std; ; int n; double dp[N],len[N]; char ch[N]; int main() { scanf(); ;i<=n;i++)…
题目链接 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\) 的长度已经增加,…
题目背景 原 维护队列 参见P1903 题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有nnn次点击要做,成功了就是o,失败了就是x,分数是按combo计算的,连续aaa个combo就有a×aa\times aa×a分,combo就是极大的连续o. 比如ooxxxxooooxxx,分数就是2×2+4×4=4+16=202 \times 2 + 4 \times 4 = 4 +16=202×2+4×4=4+16=20. Seve…
题目背景 原 维护队列 参见P1903 题目描述 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:( 我们来简化一下这个游戏的规则 有 nnn 次点击要做,成功了就是o,失败了就是x,分数是按combo计算的,连续 aaa 个combo就有 a×aa\times aa×a 分,combo就是极大的连续o. 比如ooxxxxooooxxx,分数就是 2×2+4×4=4+16=202 \times 2 + 4 \times 4 = 4 +16=202×2+4×4=4+16=2…
概率期望专题首杀-- 毒瘤dp 首先根据数据范围推断出复杂度在O(n)左右 但不管怎么想都是n^2-- 晚上躺在床上吃东西的时候(误)想到之前有几道dp题是通过前缀和优化的 而期望的可加性又似乎为此创造了条件 那么 是不是可以只考虑多一个o对整体期望的贡献? 很显然,为(x+1)^2-x^2=2x+1 那么就额外维护一下就好了 #include<cstdio> #include<iostream> using namespace std; const int N=300005; d…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=5006 https://www.luogu.org/problemnew/show/P4547 算一种可行方案,只要确定出 n 条边即可:概率就是这 n 条边存在的概率,其他边视作无要求,概率贡献都是1:这样的话,一种方案对答案的贡献就是其概率. 考虑把第二组边和第三组边分成概率分别为 1/2 的两条独立的边.对于第二组边再加一条能把4个点都连起来的 1/4 的边,对于第三组边再加一条能把4…
传送门 stdcall大佬好强 期望的姿势不是很高……据大佬说期望有一个线性性质,也就是说可以把每一张牌的期望伤害算出来然后再加起来就是总的期望伤害 因为每一张牌只能用一次,我们设$dp[i]$表示第$i$张牌被使用的概率,$d[i]$表示这一张牌的伤害,那么总伤害就是$$\sum_{i=1}^n dp[i]*d[i]$$ 首先,第一张牌的概率是很好计算的,也就是$dp[1]=1-(1-p[i])^r$,就是说这张牌一直憋着不出 然后考虑之后的牌的概率怎么计算.首先牌选的顺序对答案是没有影响的,…
题面传送门 感觉是道挺好的题,可惜当时没写题解来着的? 根据期望的线性公式,我们求出每个卡牌被发动的概率 \(q_i\),然后 \[ans=\sum\limits_{i=1}^np_id_i \] 于是我们求出 \(q_i\) 即可. 我们设 \(dp_{i,j}\) 表示在前 \(i\) 张牌里发动了 \(j\) 张牌的概率. 如果已知 \(dp_{i,j}\),那么可以这样求出 \(q_i\): \[q_i=\sum\limits_{j=0}^rdp_{i-1,j}+(1-(1-p_i)^{…