由于并不想写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. json的面向对象

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. Python--简单接口测试实例(一)

    适用人员:初学python的测试人员,若对抓包不太清楚的可先学习抓包的知识 接口测试流程:发送请求-->返回响应-->结果判定-->生成报告 案例:下面以[今目标]新建客户为例来进行 ...

  3. Java接口和抽象类以及接口的意义,instanceof的利用

    接口interface: 1. 在接口中没有变量,成员无论如何定义,都是公共常量,public static final即使不显式声明也如此. 2. 所有接口方法均隐含public abstract即 ...

  4. 12.Django思维导图

  5. css基础--深入理解弹性盒flex布局

    欢迎访问我的个人博客:http://www.xiaolongwu.cn 1. 前言 flex弹性盒,是一种布局方式,当页面需要适应不同的屏幕大小以及设备类型时,它依然能确保元素 拥有更恰当的排布行为, ...

  6. Code Review Checklist

    左按:当年需要一份详细的代码评审清单作参考,翻译了此文. 版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[-] General Code Smoke Test 通用测试 Comm ...

  7. Linux 内核模块编译 Makefile

    驱动编译分为静态编译和动态编译:静态编译即为将驱动直接编译进内核,动态编译即为将驱动编译成模块. 而动态编译又分为两种: a -- 内部编译 在内核源码目录内编译 b -- 外部编译 在内核源码的目录 ...

  8. JVM配置参数详解(目前不够完善)

    最近看了有关虚拟机的书籍,发现有很多虚拟机配置参数不知道,特来记录一下, -XX: MaxDirectMemorySize--->设置直接内存,不设置与Java堆内存最大值一致 -XX:Perm ...

  9. PAT1121:Damn Single

    1121. Damn Single (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue "Dam ...

  10. windows10系统终极净化方法

    去年购入一台华硕FL8000U,性能很是不错,但是硬件只能兼容win10,不支持win7(linux倒是可以,但是始终用不顺手),win10里面杂七杂八的确实很多,本人重度强迫症+洁癖+极简主义,所以 ...