由于并不想写T1和T2的题解……所有只有T3的题解了。

T3

  由于内部题就只写题解了。

  

  好吧,我是一点都不想写……

  说一下这zz题解哪里写错了吧……

  ……不想写……

  就说一个吧……

  $n-\frac{k-i}{2}$应该是$\frac{k-i}{2}$。

  好累啊,完全不想写题解,有空再说吧。

 #include "bits/stdc++.h"

 using namespace std;

 const int N=4e2+;

 double f[N][N],p[N][N],C[N][N],mi[N][N];

 int n,num[N][N];
char s[N]; inline void init(){
int i,j,k;
for (C[][]=i=;i<N;++i)
for (C[i][]=j=;j<=i;++j)
C[i][j]=C[i-][j]+C[i-][j-];
for (i=;i<=n;++i)
for (j=i,k=;j<=n;++j){
if (s[j]=='.') ++k;
num[i][j]=k;
}
} inline void dp(){
if (!num[][n]){
puts("0.000000");return ;
}
register int i,j,k,l;
for (i=;i<=n;++i) if(s[i]=='.')
p[i][i]=1.0;
for (l=;l<=(n>>);++l) {
for (i=;i<=l;++i)
for (mi[i][]=,k=;k<=l;++k)
mi[i][k]=mi[i][k-]*i/l;
for (i=,j=l;i<=n;++i,++j) {
f[i][j]=p[i][j]=0.0;
if(s[j]=='.'){
for (k=i;k<j;++k) if(s[k]=='.'){
int lk=num[i][k-],rk=num[k+][j-];
double now=C[lk+rk][lk]*
mi[(k-i+)][lk+]*
mi[(j-k)][rk]*
p[i][k]*p[k+][j];
p[i][j]+=now;
f[i][j]+=now*(f[i][k]+f[k+][j]+(k-i)/2.0);
}
if (num[i][j-]==)p[i][j]=1.0;
f[i][j]/=p[i][j];
}
}
}
double ans=0.0;
for (i=;i<=n/;++i)
ans+=f[i][i+n/-]*p[i][i+n/-];
ans+=(n/-)/2.0;
printf("%.6f\n",ans);
} int main(){
int T;
scanf("%d",&T);
while (T--) {
scanf("%s",s+);
n=strlen(s+);
for (int i=n+;i<=(n<<);++i)
s[i]=s[i-n];
n<<=;
init();
dp();
}
}

T3

[NOI赛前训练]——专项测试3·数学的更多相关文章

  1. 【NOI赛前训练】——专项测试1·网络流

    T1: 题目大意: 传送门 给一个长度为$n(n<=200)$的数列$h$,再给$m$个可以无限使用的操作,第$i$个操作为给长度为花费$c_i$的价值给长度为$l_i$的数列子序列+1或-1, ...

  2. Ubuntu14.04+caffe+cuda7.5 环境搭建以及MNIST数据集的训练与测试

    Ubuntu14.04+caffe+cuda 环境搭建以及MNIST数据集的训练与测试 一.ubuntu14.04的安装: ubuntu的安装是一件十分简单的事情,这里给出一个参考教程: http:/ ...

  3. Caffe初试(二)windows下的cafee训练和测试mnist数据集

    一.mnist数据集 mnist是一个手写数字数据库,由Google实验室的Corinna Cortes和纽约大学柯朗研究院的Yann LeCun等人建立,它有60000个训练样本集和10000个测试 ...

  4. caffe学习系列(2):训练和测试自己的图片

    参考:http://www.cnblogs.com/denny402/p/5083300.html 上述主要介绍的是从自己的原始图片转为lmdb数据,再到训练.测试的整个流程(另外可参考薛开宇的笔记) ...

  5. windows+caffe(四)——创建模型并编写配置文件+训练和测试

    1.模型就用程序自带的caffenet模型,位置在 models/bvlc_reference_caffenet/文件夹下, 将需要的两个配置文件,复制到myfile文件夹内 2. 修改solver. ...

  6. Caffe学习系列(12):训练和测试自己的图片

    学习caffe的目的,不是简单的做几个练习,最终还是要用到自己的实际项目或科研中.因此,本文介绍一下,从自己的原始图片到lmdb数据,再到训练和测试模型的整个流程. 一.准备数据 有条件的同学,可以去 ...

  7. 【转】微信小程序专项测试

    微信小程序专项测试 by 云层 原文地址: http://mp.weixin.qq.com/s?__biz=MzA4NDIzNTIzNA==&mid=2654370226&idx=1& ...

  8. 不要怂,就是GAN (生成式对抗网络) (四):训练和测试 GAN

    在 /home/your_name/TensorFlow/DCGAN/ 下新建文件 train.py,同时新建文件夹 logs 和文件夹 samples,前者用来保存训练过程中的日志和模型,后者用来保 ...

  9. app专项测试自动化测试方法思路与实现

    秉着个人意愿打算把python+rf接口自动进行彻底结束再做些其它方面的输出~但事与愿违,但领导目前注重先把专项测试方面完成,借此,先暂停python+rf(主要是与Jenkins集成+导入DB+微信 ...

随机推荐

  1. MySql 行转列 存储过程实现

    同学们在使用mysql的过程中,会遇到一个行转列的问题,就是把多条数据转化成一条数据 用多列显示. 方法1. 实现方式用下面的存储过程,表名对应的修改就行. BEGIN declare current ...

  2. <mate name="viewport">移动端设置详解

    <meta name="viewport" content="width=device-width,height=device-height,initial-sca ...

  3. 【redis】Java连接云服务器redis之JedisConnectionException的异常问题

    代码很简单: public static void main(String[] args) { Jedis jedis = new Jedis("116.85.10.216",63 ...

  4. 6.3 Query 语句对系统性能的影响

    我们重点分析实现同样功能的不同SQL 语句在性能方面会产生较大的差异的根本原因,并通过一个较为典型的示例来对我们的分析做出相应的验证. 为什么返回完全相同结果集的不同SQL 语句,在执行性能方面存在差 ...

  5. Day8 面向对象反射 item方法 打印对象信息__str__ 构析方法__del__ 程序的异常处理

    反射:通过字符串来访问到所对应的值(反射到真实的属性上). eg: class Foo: x=1 def __init__(self,name): self.name=name def f1(self ...

  6. MDCC2013会议笔记

    技术性的Topic听的不多,也没记多少东西. 下面这些是产品设计论坛的笔记: 互联网为实体行业带来:数据驱动,用户参与,快速验证想法 体验整合:线上与线下,产品与服务,运营与营销,用户和利益相关方体验 ...

  7. jsoup 使用总结2--高级用法之 :gt(n)

    jsoup 使用总结2--高级用法之 :gt(n) 大部分时候,我们使用jsoup解析网页的时候,都是直接找到某一类元素,或者按某种selector查询:具体使用方法可以参考jsoup官网文档 部分h ...

  8. ubuntu 18.04安装docker以及docker内配置neo4j

    如题 切换到root用户下 apt install docker.io 等啊等,很快,就好了.. 如图 即可使用 如果出现Cannot connect to the Docker daemon at ...

  9. 自己用 Netty 实现一个简单的 RPC

    目录: 需求 设计 实现 创建 maven 项目,导入 Netty 4.1.16. 项目目录结构 设计接口 提供者相关实现 消费者相关实现 测试结果 总结 源码地址:github 地址 前言 众所周知 ...

  10. tomcat7性能调优与配置(以windows版为例)

    一.配置tomcat服务状态查看帐号(E:\Tomcats\apache-tomcat-7.0.73Test\conf下面的tomcat-users.xml中)加入:<user username ...