codeforces 235 B lets play osu!
cf235B
一道有意思的题。(据说是美少女(伪)计算机科学家出的,hh)
根据题目要求,就是求ni^2的和。
而n^2=n*(n-1)+n; n*(n-1)=C(n,2)*2;
所以∑ai^2=∑ai+2*∑C(n,2)
化为求连续长度大于2的序列个数;这样好像还是不太好直接做
设dp【i】=以i结尾的期望长度; dp【0】=dp【1】=0,dp【2】=p1p2,dp【3】=p1p2p3+p2p3=(dp【2】+p【2】)*p3 ...
得dp【i】=p【i】*(dp【i-1】+p【i-1】)
而发现dp【0】+dp【1】+...+dp【i】恰好包括了长度为i时序列长度超过2的所有情况,就可以接着做了
另一种思路:
设当前长为L,则下一个若也为o,那么贡献增加为(L+1)^2-L^2=2L+1
设dp【i】=以i结尾的期望长度;
得到dp【i】=(dp【i-1】+1)*p【i】
就可以累加了
代码
#include<bits/stdc++.h>
using namespace std; const int maxn=;
int n; double ans;
int main()
{
while(scanf("%d",&n)==)
{
ans=;double cnt=;double p;
for(int i=;i<=n;i++)
{
scanf("%lf",&p); ans+=(*cnt+)*p;
cnt=(cnt+)*p;
} printf("%.15lf\n",ans);
}
return ;
}
codeforces 235 B lets play osu!的更多相关文章
- [codeforces 235]A. LCM Challenge
[codeforces 235]A. LCM Challenge 试题描述 Some days ago, I learned the concept of LCM (least common mult ...
- OSU!
OSU! 首先,由题可知,本题是个期望题,根据期望的套路,定义f[x]为x前的答案,所以最终答案就是f[n] f[x]表示前x期望答案,即每一段的长度立方和的期望(一定要清楚) 但是三次方不好算,由于 ...
- codeforces 235 B. Let's Play Osu!
You're playing a game called Osu! Here's a simplified version of it. There are n clicks in a game. F ...
- [ BZOJ 4318 & 3450 / CodeForces 235 B ] OSU!
\(\\\) \(Description\) 一共进行\(N\)次操作,生成一个长度为\(N\)的\(01\)序列,成功对应\(1\),失败对应\(0\),已知每一次操作的成功率\(p_i\). 在这 ...
- codeforces 235 div2 C Team
题目:http://codeforces.com/contest/401/problem/C 题意:n个0,m个1,求没有00或111的情况. 这么简单的题..... 做题的时候脑残了...,今天,贴 ...
- BZOJ 4318 OSU!(概率DP)
题意 osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串.在 ...
- hdu5003 Osu!排序实现水题
Osu! is a famous music game that attracts a lot of people. In osu!, there is a performance scoring s ...
- bzoj4318 OSU!
传送门 题目 osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n ...
- [Codeforces 235B]Let's Play Osu!
Description 题库链接 有一个长度为 \(n\) 的 "XO" 序列,其中第 \(i\) 个位置 "O" 出现的概率为 \(p_i\) .一个序列的价 ...
随机推荐
- bzoj4557 [JLoi2016]侦察守卫——DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4557 见这位的博客:https://www.cnblogs.com/Narh/p/91403 ...
- 详解Supervisor进程守护监控
Supervisor在百度百科上给的定义是超级用户,监管员.Supervisor是一个进程管理工具,当进程中断的时候Supervisor能自动重新启动它.可以运行在各种类unix的机器上,superv ...
- E20170417-sl
recursive adj.递归的 strategy n.战略
- J20170414-ms
ストレージ 仓库
- git中文件的三种状态
用xcode的时候,左侧栏文件的邮右边时不时会看到M,A这一类的字母.当然,这些以后再写上.先说一下git里文件的三种状态 已提交(committed) 已经提交的本地仓库(repository), ...
- Educational Codeforces Round 21E selling souvenirs (dp)
传送门 题意 给出n个体积为wi,价值为ci的物品,现在有一个m大的背包 问如何装使得最后背包内的物品价值最大,输出价值 分析 一般的思路是01背包,但n*v不可做 题解的思路 We can iter ...
- bzoj 1060: [ZJOI2007]时态同步【树形dp】
可能算不上dp,大概是个树形模拟 先一遍dfs算出f[u]为每个点最深的叶子到u的距离,然后再dfs一下,ans加上f[u]-f[e[i].to]-e[i].va,f[u]-f[e[i].to]是这条 ...
- hdu1863 畅通工程 基础最小生成树
#include <iostream> #include <cstdio> #include <algorithm> #define N 110 #define M ...
- 如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单
方法1:亲测 成功 转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef ...
- Helvetic Coding Contest 2017 online mirror (teams allowed, unrated) M
Description The marmots have prepared a very easy problem for this year's HC2 – this one. It involve ...