jzoj5805
#include<bits/stdc++.h>
using namespace std;
int x,n,pp,ct[10000];
long double f[210][(1<<8)+5][240][2],p,ans;
int main(){
freopen("exp.in","r",stdin);
freopen("exp.out","w",stdout);
scanf("%d%d%d",&x,&n,&pp);
p=pp/100.0;
for(int i=1;i<=2000;i++)
ct[i*2]=ct[i]+1;
int d=x&1,b=x&255,c=0;
x>>=8;
while(x&&(x&1)==d){
x>>=1;
c++;
}
f[0][b][c][d]=1.0;
for(int i=0;i<n;i++)
for(int j=0;j<=255;j++)
for(int k=0;k<=230;k++)
for(int l=0;l<=1;l++){
int b,c,d;
if(j==255){
b=0;
if(l==1){
d=0;
c=k;
}
else{
d=1;
c=1;
}
}
else{
b=j+1;
d=l;
c=k;
}
f[i+1][b][c][d]=f[i+1][b][c][d]+f[i][j][k][l]*(1-p);
//+1
if(j>127){
b=(j*2)&255;
int td=(j*2)&256;
td>>=8;
if(td!=l){
c=1;
d=td;
}
else{
c=k+1;
d=l;
}
}
else{
b=j*2;
if(l!=0){
d=0;
c=1;
}
else{
d=0;
c=k+1;
}
}
f[i+1][b][c][d]=f[i+1][b][c][d]+f[i][j][k][l]*p;
//*2
}
for(int j=1;j<=255;j++)
for(int k=0;k<=230;k++)
for(int l=0;l<=1;l++)
ans=ans+f[n][j][k][l]*ct[j];
for(int k=0;k<=230;k++)
ans=ans+f[n][0][k][1]*8+f[n][0][k][0]*(8+k);
printf("%.12Lf\n",ans);
}
我怎麼天天犯傻逼錯誤!
jzoj5805的更多相关文章
随机推荐
- 删除SVN版本控制目录
@echo On @Rem 删除SVN版本控制目录 @PROMPT [Com] @for /r . %%a in (.) do @if exist "%%a\.svn" rd /s ...
- jQuery中animate()对Firefox无效的解决办法
在使用 animate()做返回顶部的动画时,会出现对Firefox无效的情况,如: $('body').animate({scrollTop:'0'},500); 它对Chrome,IE,Opera ...
- linux下一些常用系统命令
查看系统打开的文件数 lsof|wc -l 查看当前目录下的文件数 find -type f | wc -l 查看某个目录下的文件数,注意这里/home包括其所有子目录 find /home -typ ...
- Package gtk+-3.0 was not found in the pkg-config search path
问题描述: 在fedora21系统上通过rpmbuild构建fcitx的二进制包时出现以上错误,经老程序员指点:“是相应的开发包没有安装” 解决办法: yum installl gtk3-devel ...
- livecd-creator: UnicodeEncodeError: 'ascii' codec can't encode characters in position 1282-1
通过livecd-creator进行构建ISO过程中出现题目中错误, livecd-creator命令属于包livecd-tools 问题原因: 编码错误,初步判断应该与编码相关的环境变量设置有关 解 ...
- 03 解析库之Beautifulsoup模块
Beautifulsoup模块 一 介绍 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式 ...
- 使用PrintWriter out=response.getWriter();输出script脚本时乱码解决
使用PrintWriter out=response.getWriter();输出script脚本时乱码解决 最近遇到了一个奇怪的事情,仅仅用out.print("<script ty ...
- 2018.09.01 独立集(树形dp)
描述 给定一颗树(边权为1),选取一个节点子集,使得该集合中任意两个节点之间的距离都大于K.求这个集合节点最多是多少 输入 第一行是两个整数N,K 接下来是N-1行,每行2个整数x,y,表示x与y有一 ...
- 聚合函数、group by
聚合函数: sql语言中一种特殊的函数:聚合函数,SUM, COUNT, MAX, MIN, AVG等.这些函数和其它函数的根本区别就是它们一般作用在多条记录上.SELECT SUM(populati ...
- Linux下配置Nginx(在root的/etc/rc.local里配置开机启动功能http://tengine.taobao.org/)
上面是下载的包下载地址 http://tengine.taobao.org/download_cn.html nginx官网http://nginx.org/ 下一步 下一步 其中remote为重要属 ...