[jzoj]3468.【NOIP2013模拟联考7】OSU!(osu)
Link
https://jzoj.net/senior/#main/show/3468
Description
osu 是一款群众喜闻乐见的休闲软件。
我们可以把osu的规则简化与改编成以下的样子:
一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为一个长度为n的01串。在这个串中连续的x个1可以贡献x^3的分数,这x个1不能被其他连续的1所包含(也就是极长的一串1,具体见样例解释)
现在给出n,以及每个操作的成功率,请你输出期望分数,输出四舍五入后保留1位小数。
Solution
我疑心这是一道极好的题目,网上的题解阐述的是大概,吾大都不懂。下面是我自个儿的理解,赘述一下。。
60分
我们发现,如果位置是0,那么对答案没有一点贡献。
答案是由一个或一段的1贡献的。所以,我们可以枚举连续的一段1的位置,使其满足它是相对独立的,没有与别段有交集。
100分
有办法可以快速处理以上的方法吗。答案使没有的。我们只能另辟途径。
看到概率,脑子里除了DP就是暴力。
循规蹈矩地设F[i]表示前i位的期望答案。
当前位选0,那么答案便是f[i-1];当前位选1,那么对答案的贡献自然就多了,设这个多出来的贡献为k。
根据上面的理解可以得到
F[i]=f[i-1]*(1-p[i])+(f[i-1]+k)*p[i]
整理可得
f[i]:=f[i-1]+贡献*p[i];
关键是贡献的如果求贡献。我们知道,每次多1,那么答案就多(x+1)3--x3=3*x2+3x+1,x显然是一个期望长度。令人蛋疼的是,期望的平方不等于平方的期望
设g1表示一次项的期望长度,g2表示二次项的期望长度。
g1相当于x,是期望长度,那么显然g1[i]=(g1[i-1]+1)*p[i]
因为(x+1)2-x2=2x+1,故可得g2[i]=(g2[i-1]+2*g1[i-1]+1)*p[i];
贡献的问题显然可得。具体见标程
Code
60分
var
now,ans:extended;
n,i,j:longint;
a:array[..] of extended;
begin
assign(input,'osu.in');reset(input);
assign(Output,'osu.out');rewrite(output); readln(n); for i:= to n do
readln(a[i]); for i:= to n do
begin
now:=;
for j:= to n-i+ do
begin
now:=now*a[i+j-]; ans:=ans+j*j*j*now*(-a[i-])*(-a[i+j]);
end;
end; writeln(ans::);
end.
100分
var
n,i:longint;
a,f,g1,g2:array[..] of extended;
begin
assign(input,'osu.in');reset(input);
assign(Output,'osu.out');rewrite(output); readln(n); for i:= to n do
readln(a[i]); for i:= to n do
begin
g1[i]:=(g1[i-]+)*a[i];
g2[i]:=(g2[i-]+*g1[i-]+)*a[i];
f[i]:=f[i-]+(*g2[i-]+*g1[i-]+)*a[i];
end; writeln(f[n]::);
end.
[jzoj]3468.【NOIP2013模拟联考7】OSU!(osu)的更多相关文章
- 【NOIP2013模拟联考7】OSU
[NOIP2013模拟联考7]OSU 描述 Description osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: 一共有n次操作,每次操作只有成功与失败之分, ...
- JZOJ【NOIP2013模拟联考14】隐藏指令
JZOJ[NOIP2013模拟联考14]隐藏指令 题目 Description 在d维欧几里得空间中,指令是一个长度为2N的串.串的每一个元素为d个正交基的方向及反方向之一.例如,d = 1时(数轴) ...
- JZOJ 3493. 【NOIP2013模拟联考13】三角形
3493. [NOIP2013模拟联考13]三角形(triangle) (File IO): input:triangle.in output:triangle.out Time Limits: 10 ...
- JZOJ 3487. 【NOIP2013模拟联考11】剑与魔法(dragons)
3487. [NOIP2013模拟联考11]剑与魔法(dragons) (Standard IO) Time Limits: 1000 ms Memory Limits: 131072 KB De ...
- JZOJ 3470. 【NOIP2013模拟联考8】最短路(path)
470. [NOIP2013模拟联考8]最短路(path) (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Detailed ...
- JZOJ 3463. 【NOIP2013模拟联考5】军训
3463. [NOIP2013模拟联考5]军训(training) (Standard IO) Time Limits: 2000 ms Memory Limits: 262144 KB Deta ...
- JZOJ 3462. 【NOIP2013模拟联考5】休息(rest)
3462. [NOIP2013模拟联考5]休息(rest) (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Detailed ...
- JZOJ 3461. 【NOIP2013模拟联考5】小麦亩产一千八(kela)
3461. [NOIP2013模拟联考5]小麦亩产一千八(kela) (Standard IO) Time Limits: 1000 ms Memory Limits: 262144 KB Det ...
- [jzoj]3456.【NOIP2013模拟联考3】恭介的法则(rule)
Link https://jzoj.net/senior/#main/show/3456 Description 终于,在众亲们的奋斗下,最终boss 恭介被关进了库特设计的密室.正当她们松了一口气时 ...
随机推荐
- 2018-2019-2 20165337《网络攻防技术》Exp5 MSF基础应用
一.实践目标 1.一个主动攻击实践 ms08_067 2.一个针对浏览器的攻击 ms13-069 3.一个针对客户端的攻击 adobe (Adobe_toolbutton客户端漏洞) 4.成功应用任何 ...
- window下 多开redis
1.先复制整个redis 一份 2.在配置文件redis.windows.conf .redis.windows-server.conf中 改端口 3.cmd命令 redis-server redi ...
- redis缓存雪崩、缓存穿透、数据库和redis数据一致性
一.缓存雪崩 回顾一下我们为什么要用缓存(Redis):减轻数据库压力或尽可能少的访问数据库. 在前面学习我们都知道Redis不可能把所有的数据都缓存起来(内存昂贵且有限),所以Redis需要对数据设 ...
- java学习笔记11-static关键字
如果在类中使用static关键字创建方法,这种方法称为类方法,可以在这个类中直接引用.而不是用static创建的方法.这种方法称为对象方法(实例方法),需要创建对象后才能使用. package les ...
- Django_路由详
动态路由和动态参数捕获 动态路由:url支持正则表达式, 访问的url能够匹配成功就去执行对应的视图函数 捕获参数: # 捕获参数,位置传参 url(r'^data/([0-9]{4})/([0-2] ...
- 关于/tmp/ 目录自动清理文件
问题:今天开发人员给我说了一个错误:The temporary upload location [/tmp/tomcat.1337767218595042057.80/work/Tomcat/loca ...
- C++入门篇九
explicit关键字:防止构造函数隐式类型转换 #include <iostream> #include "pch.h" using namespace std; c ...
- hdu 1241 Oil Deposits (简单搜索)
题目: The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. ...
- 01-初识MySQL数据库
一.数据库概述 1.什么是数据 描述事物特征的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机.如: name ...
- SSM框架中写sql在xml文件中
第一种(用Mapper.xml映射文件中定义了操作数据库sql) 注意点: 1.#{}与${} #{}表示一个占位符,使用占位符可以防止sql注入, ${}通过${}可以将parameterType传 ...