博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P3343 [ZJOI2015]地震后的幻想乡
阅读量:6689 次
发布时间:2019-06-25

本文共 1236 字,大约阅读时间需要 4 分钟。

给跪了

再给也跪了

//minamoto#include
#define rint register int#define ll long longusing namespace std;#define getc() (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++)char buf[1<<21],*p1=buf,*p2=buf;int read(){ int res,f=1;char ch; while((ch=getc())>'9'||ch<'0')(ch=='-')&&(f=-1); for(res=ch-'0';(ch=getc())>='0'&&ch<='9';res=res*10+ch-'0'); return res*f;}ll dp[2][65][2205],sz[2205];bool vis[2205];int n,m,up,mp[25][25];ll c[60][60];double res;int main(){// freopen("testdata.in","r",stdin); n=read(),m=read(),up=pow(2,n)-1; for(rint i=1,u,v;i<=m;++i)u=read(),v=read(),mp[u-1][v-1]=mp[v-1][u-1]=1; for(rint i=1;i<=up;++i)for(rint p1=1;p1
>p1)&1)&&((i>>p2)&1)&&mp[p1][p2];// for(rint i=0;i<=m+1;++i)c[i][0]=c[i][i]=1;// for(rint i=1;i<=m+1;++i)for(rint j=1;j
>p1)&1)==0)++p1; for(rint k=(j-1)&j;k;k=(k-1)&j){ if(((k>>p1)&1)==0)continue; for(rint rk=0;rk<=i;++rk) dp[0][i][j]+=dp[1][rk][k]*c[i-rk][sz[j^k]]; } dp[1][i][j]=c[i][sz[j]]-dp[0][i][j]; } for(rint i=0;i<=m;++i)res+=1.0*dp[0][i][up]/c[i][m]; printf("%.6lf\n",res/(m+1));return 0;}

转载于:https://www.cnblogs.com/bztMinamoto/p/9982528.html

你可能感兴趣的文章
Explain中的filtered列
查看>>
趣图:当计算机可以更新的时候
查看>>
贝格尔编排法-java
查看>>
retain、assign、strong、weak
查看>>
Java String处理入门 - null或空值的判断处理
查看>>
文件 跨域上传
查看>>
CentOS7 安装 rabbitmq
查看>>
有效的java程序片段
查看>>
Java类排序_浅析
查看>>
图文详解如何修改git已提交记录的邮箱?
查看>>
配置SSH
查看>>
storm翻译(2):Concepts
查看>>
Exchange 2013文档之三:Exchange Server 2013在Windows 2012平台下部署
查看>>
Shell获取局域网指定IP地址的MAC和主机名,并插入数据库
查看>>
mysql安装记录文档
查看>>
Vmware /CentOS访问Windows中的文件
查看>>
pg9.5升级 到 pg11 的步骤
查看>>
09可靠消息最终一致性方案2--独立消息服务
查看>>
Linux系统下生成一个指定大小的文件和空间预留
查看>>
LNMP搭建9:Nginx日志切割
查看>>