hdu5819
补多校系列,具体见多校题解http://www.cnblogs.com/duoxiao/p/5777700.html
值得注意的是如果当前i初始向左,前i个骑士最终只有1个向右
对于f[i][1]状态的转移为f[i][1]=∑ f[i-1][k]*0.5^(k-1)
因为我们只要比k-1场就可以了,那一个活下来的是骑士i还是前i-1个骑士中的无关紧要
#include<bits/stdc++.h> using namespace std;
typedef long long ll;
const int mo=1e9+;
ll f[][],d[];
int a[],n; ll quick(ll x,int y)
{
ll s=;
while (y)
{
if (y&) s=s*x%mo;
x=x*x%mo;
y>>=;
}
return s;
} int main()
{
int cas;
scanf("%d",&cas);
d[]=; d[]=quick(,mo-);
for (int i=; i<=; i++) d[i]=d[i-]*d[]%mo;
for (int tt=; tt<=cas; tt++)
{
scanf("%d",&n);
for (int i=; i<=n; i++) scanf("%d",&a[i]);
printf("Case #%d: ",tt);
if (n==)
{
puts("");
continue;
}
memset(f,,sizeof(f));
f[][]=;
for (int i=; i<n; i++)
if (a[i])
{
for (int j=; j<=i; j++)
f[i][j]=f[i-][j-];
}
else {
for (int j=i-; j>=; j--)
f[i][j]=(f[i-][j]+f[i][j+])*d[]%mo;
for (int j=; j<=i-; j++)
f[i][]=(f[i][]+f[i-][j]*d[j-]%mo)%mo;
}
ll ans=;
for (int i=; i<n; i++)
ans=(ans+f[n-][i]*d[i]%mo)%mo;
printf("%lld\n",ans);
}
}
hdu5819的更多相关文章
随机推荐
- CSS设计指南之伪类
伪类这个叫法源自它们与类相似,但实际上并没有类会附加到标记中的标签上.伪类分两种. UI伪类会在HTML元素处于某个状态时(比如鼠标指针位于链接上),为该元素应用CSS样式. 结构化伪类会在标记中存在 ...
- Luogu3952 NOIP2017时间复杂度
搞一个栈模拟即可.对比一下和一年前考场上的代码233 //2018.11.8 #include<iostream> #include<cstdio> #include<c ...
- 【题解】SHOI2008仙人掌图
本质上还是树形dp.建立圆方树,遇到圆点的时候直接求(和树形dp一样即可),遇到方点做中转点的时候要考虑会从圆的另一侧通过(需满足最短路径的原则).原本是对于圆上的点进行 \(n^{2}\) 的匹配, ...
- 洛谷P4591 [TJOI2018]碱基序列 【KMP + dp】
题目链接 洛谷P4591 题解 设\(f[i][j]\)表示前\(i\)个串匹配到位置\(j\)的方案数,匹配一下第\(i\)个串进行转移即可 本来写了\(hash\),发现没过,又写了一个\(KMP ...
- 工具——代码中自动生成SVN版本号
本节和大家讨论一下程序集版本最后一位使用SVN版本号的自动生成方法,这里就向大家简单介绍一下.在进行自动部署的时候,经常需要用脚本获取程序的最新版本号.现在我们定义每个程序集的版本信息的最末段表示SV ...
- 获取本地ip地址 C#
与ipconfig获取的所有信息一致的方法: private void GetIp() { System.Diagnostics.Process cmdp= new System.Diagnostic ...
- 设计一个JavaScript框架需要编写哪些模块
在这个js框架随处乱跑的时代,你是否考虑过写一个自己的框架?下面的内容也许会有点帮助. 一个框架应该包含哪些内容? 1. 语言扩展 大部分现有的框架都提供了这部分内容,语言扩展应当是以ECMAScri ...
- Codeforces Round #535 (Div. 3) 题解
Codeforces Round #535 (Div. 3) 题目总链接:https://codeforces.com/contest/1108 太懒了啊~好久之前的我现在才更新,赶紧补上吧,不能漏掉 ...
- springboot与dubbo结合
转:http://www.cnblogs.com/Alandre/p/6490142.html 写的很好! 本文提纲 一.为啥整合 Dubbo 实现 SOA 二.运行 springboot-dubb ...
- intellij IDEA与springboot项目建立
概念问题: IntelliJ系中的Project相当于Eclipse系中的workspace.IntelliJ系中的Module相当于Eclipse系中的Project.IntelliJ中一个Proj ...