某谷 P1654 OSU!

某谷 P1654 OSU!

题目背景

原 《产品排序》 参见P2577

题目描述

osu 是一款群众喜闻乐见的休闲软件。

我们可以把osu的规则简化与改编成以下的样子:

一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n的01串。在这个串中连续的 XX 个 11 可以贡献 X^3X3 的分数,这x个1不能被其他连续的1所包含(也就是极长的一串1,具体见样例解释)

现在给出n,以及每个操作的成功率,请你输出期望分数,输出四舍五入后保留1位小数。

输入输出格式

输入格式:

第一行有一个正整数n,表示操作个数。接下去n行每行有一个[0,1]之间的实数,表示每个操作的成功率。

输出格式:

只有一个实数,表示答案。答案四舍五入后保留1位小数。

输入输出样例

输入样例#1: 

3 
0.5 
0.5 
0.5

输出样例#1: 

6.0

说明

【样例说明】

000分数为0,001分数为1,010分数为1,100分数为1,101分数为2,110分数为8,011分数为8,111分数为27,总和为48,期望为48/8=6.0

N<=100000

 

 

Solution

典型的期望DP

E(X+1)=E(X)+p*(3x^2+3x+1)

DP分别维护  3x^2,3x  的期望即可。

#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e5+50;
double p[MAXN],s1[MAXN],s2[MAXN],ans[MAXN];
inline int read()
{int f=1,x=0; char c=getchar();while (c<'0'||c>'9') { if (c=='-') f=-1; c=getchar(); }while (c>='0'&&c<='9') { x=(x<<3)+(x<<1)+(c^48); c=getchar(); }return x*f;
}
int main()
{int n=read();for(int i=1;i<=n;i++) scanf("%lf",&p[i]);for(int i=1;i<=n;i++){s1[i]=(s1[i-1]+1)*p[i];s2[i]=(s2[i-1]+2*s1[i-1]+1)*p[i];ans[i]=ans[i-1]+((s1[i-1]+s2[i-1])*3+1)*p[i];}printf("%.1lf",ans[n]);return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dotnet pack 打包文件版本号引起 Could not load file or assembly 问题

如果不是遇到&#xff0c;真的不会想到&#xff0c;代码世界的问题真是千奇百怪&#xff0c;这次遇到的是 dotnet pack 打包文件版本号引起的问题。之前进行 nuget 打包都是在 Visual Studio build 时进行&#xff0c;版本号时通过 .csproj 中的 VersionPrefix 指定&#xff0c…

FFT/NTT/FMT/FWT题目

快速傅里叶变换FFT hdu4609 3-idiots P4173 残缺的字符串 Hash Function [AH2017/HNOI2017]礼物 CF993E Nikita and Order Statistics 快速沃尔什变换 FWT BZOJ4589. Hard Nim Tree Cutting HDU - 5909 快速莫比乌斯变换 FMT 快速数论变换 NTT P2000 拯救世界

[Wannafly挑战赛2D-Delete]最短路

[Wannafly挑战赛2D-Delete]最短路 题目描述 给定一张 n 个点&#xff0c;m 条边的带权有向无环图&#xff0c;同时给定起点 S 和终点 T &#xff0c;一共有 q 个询问&#xff0c;每次询问删掉某个点和所有与它相连的边之后 S 到 T 的最短路&#xff0c;询问之间互相独立(即删…

ASP.NET Core MVC 视图

ASP.NET Core MVC中视图的知识和ASP.NET MVC有很多相似之处&#xff0c;学习难度较低。以下内容主要体现了编程中模块化的思想&#xff0c;模块化才应是我们关注的重点。布局用于提供各个页面所需的公共部分&#xff0c;如&#xff1a;菜单、页头、页尾等。在ASP.NET Core中默认…

CF993E Nikita and Order Statistics

CF993E Nikita and Order Statistics 题意&#xff1a; 给你一个数组 a1∼na_{1 \sim n}a1∼n​&#xff0c;对于 k0∼nk 0 \sim nk0∼n&#xff0c;求出有多少个数组上的区间满足&#xff1a;区间内恰好有 k 个数比 x 小。 x 为一个给定的数。 n≤2105n \le 2 \times 10^5n…

ASP.NET Core 通过 Microsoft.DotNet.Watcher.Tools 实现热部署

之前开发前端的时候&#xff0c;webpack 会有热更新工具&#xff0c;在修改了代码之后&#xff0c;自动将代码编译&#xff0c;实时展现到页面上&#xff0c;给开发带来了极大的方便。Java也可以通过第三方插件JRebel实现热部署&#xff0c;不用频繁的重启Tomcat。微软官方也为…

P3825 [NOI2017]游戏

P3825 [NOI2017]游戏 题目描述 小 L 计划进行n场游戏&#xff0c;每场游戏使用一张地图&#xff0c;小 L 会选择一辆车在该地图上完成游戏。 小 L 的赛车有三辆&#xff0c;分别用大写字母A、B、C表示。地图一共有四种&#xff0c;分别用小写字母x、a、b、c表示。其中&#x…

事关SuperSocket发布,寻找YangFan哥哥

SuperSocket近日发布了2.0的第一个预览版《SuperSocket 2.0 Preview1 发布&#xff0c;.NET Socket服务器框架》&#xff0c;在NuGet上以一个包含数个SuperSocket程序集的大包的形式发布。https://www.nuget.org/packages/SuperSocket/2.0.0-preview1我原意以独立小包的形式发布…

P3321 [SDOI2015]序列统计(未解决)

P3321 [SDOI2015]序列统计 题意&#xff1a; 题解&#xff1a; 参考题解&#xff1a; 题解 P3321 【[SDOI2015]序列统计】 【LG3321】[SDOI2015]序列统计 神仙题。。学透再补 代码&#xff1a;

P1963 [NOI2009]变换序列

题目描述 不想水字&#xff0c;详见某谷&#xff1a;P1963 [NOI2009]变换序列 solution 其实 的计算就类似于环上的距离。 对于每一个 都可能有两种位置选择&#xff1a;&#xff0c; 。 所以把它们分别连边&#xff0c;二分图上匈牙利算法求完美匹配即可。 #include&…

一次 .NET Core 中玩锁的经历:ManualResetEventSlim, SemaphoreSlim

最近同事对 .net core memcached 缓存客户端 EnyimMemcachedCore 进行了高并发下的压力测试&#xff0c;发现在 linux 上高并发下使用 async 异步方法读取缓存数据会出现大量失败的情况&#xff0c;比如在一次测试中&#xff0c;100万次读取缓存&#xff0c;只有12次成功&…

BZOJ4589. Hard Nim

BZOJ4589. Hard Nim 题意&#xff1a; Claris和NanoApe在玩石子游戏&#xff0c;他们有n堆石子&#xff0c;规则如下&#xff1a; Claris和NanoApe两个人轮流拿石子&#xff0c;Claris先拿。每次只能从一堆中取若干个&#xff0c;可将一堆全取走&#xff0c;但不可不取&…

P2825 [HEOI2016/TJOI2016]游戏

题目描述 详见 P2825 [HEOI2016/TJOI2016]游戏。 solution 套路题。 一般思路是行列建点跑二分图最大匹配。 此题中的#会分隔行列&#xff0c;因此我们把每行的极大联通块设为点&#xff0c;列同理建点。 再对于每个*对应的行的极大联通块与列的最大联通块编号连边&…

P3033 [USACO11NOV]牛的障碍Cow Steeplechase

P3033 [USACO11NOV]牛的障碍Cow Steeplechase 题目描述 详见&#xff1a;P3033 [USACO11NOV]牛的障碍Cow Steeplechase solution 裸题。 对于每一对相交的线段&#xff0c;连一条边&#xff0c;表示这一对线段不能都取。 显然这样会建立一个二分图&#xff08;横的线段不…

Tree Cutting HDU - 5909

Tree Cutting HDU - 5909 题意&#xff1a; 一个无根树&#xff0c;n个点&#xff0c;n-1条边&#xff0c;每个节点有一个权值&#xff0c;一棵树的权值就是其节点(包含本身及其子节点)的权值的异或和&#xff1b;求价值为[0,m)的树有多少颗&#xff1f;(所谓的树其实就是原连…

Redis作者antirez:开源维护者的挣扎

这两天&#xff0c;一篇名为《开源维护者的挣扎》的文章被迅速顶至 Hacker News 首页&#xff0c;这是 Redis 作者 antirez 发布的最新博客。几个月前&#xff0c;一名开源项目的维护者向 antirez 发邮件&#xff0c;倾诉自己苦心维护项目多年&#xff0c;这或多或少带来了一些…

CF662C Binary Table

CF662C Binary Table 题意&#xff1a; 有一个 n 行 m 列的表格&#xff0c;每个元素都是 0/1 &#xff0c;每次操作可以选择一行或一列&#xff0c;把 0/1 翻转&#xff0c;即把 0 换为 1 &#xff0c;把 1 换为 0 。请问经过若干次操作后&#xff0c;表格中最少有多少个 1 …

P4111 [HEOI2015]小Z的房间

P4111 [HEOI2015]小Z的房间 题目描述 详见&#xff1a;P4111 [HEOI2015]小Z的房间 solution Matrix-Tree裸题。 题意为求一个有障碍的网格图的生成树个数。 因此对于每一个点向左边和上面的节点连边&#xff0c;Matrix-Tree定理求解生成树个数即可。 #include<bits/s…

黑科技抢先尝(续) - Windows terminal中WSL Linux 终端的极简美化指南

之前&#xff0c;本人写了两篇文章 黑科技抢先尝 | Windows全新终端初体验(附代码Build全过程) 和 程会玩 | 无需自行编译也能玩转 Windows Terminal&#xff0c;介绍了玩转Windows terminal的两种方式。今天这篇文章&#xff0c;主要介绍如何美化 Windows terminal 中 WSL 的 …

P3203 [HNOI2010]弹飞绵羊

P3203 [HNOI2010]弹飞绵羊 题目描述 详见&#xff1a;P3203 [HNOI2010]弹飞绵羊 solution 这是一道LCT的裸题。 但是我并不想用LCT解决此题&#xff08;In fact 是不会LCT ~QAQ&#xff09; 于是我们开始大力分块。 考虑把弹跳装置分块&#xff0c;我们每次需要知道在一…