ref

前置技能是bzoj的串珠子。这种子集dp好神啊qwq。

还有这种钦定点转移子集的方法建议按这题的方法写,不要看串珠子qwq

#include <iostream>
#include <cstdio>
using namespace std;
typedef long long ll;
int n, m, w[15], uu, vv, siz[1105], cnt[1105];
ll c[55][55];
double f[1105][55], g[1105][55];
int main(){
cin>>n>>m;
for(int i=1; i<=m; i++){
scanf("%d %d", &uu, &vv);
uu--; vv--;
w[uu] |= 1<<vv;
w[vv] |= 1<<uu;
}
for(int i=0; i<=45; i++){
c[i][0] = 1;
for(int j=1; j<=i; j++)
c[i][j] = c[i-1][j-1] + c[i-1][j];
}
for(int i=0; i<(1<<n); i++)
siz[i] = siz[i>>1] + (i&1);
for(int i=0; i<(1<<n); i++){
for(int j=0; j<n; j++)
if(i&(1<<j))
cnt[i] += siz[w[j]&i];
cnt[i] >>= 1;
}
for(int s=0; s<(1<<n); s++){
if(siz[s]==1){
g[s][0] = 1;
continue;
}
int p=s&-s;
for(int t=(s-1)&s; t; t=(t-1)&s)
if(t&p)
for(int i=0; i<=cnt[t]; i++)
for(int j=0; j<=cnt[s^t]; j++)
f[s][i+j] += g[t][i] * c[cnt[s^t]][j];
for(int i=0; i<=cnt[s]; i++)
g[s][i] = c[cnt[s]][i] - f[s][i];
}
double ans=0;
for(int i=0; i<=m; i++)
ans += f[(1<<n)-1][i] / c[cnt[(1<<n)-1]][i];
ans /= m + 1;
printf("%.6f\n", ans);
return 0;
}

luogu3343 [ZJOI2015]地震后的幻想乡的更多相关文章

  1. 【BZOJ3925】[ZJOI2015]地震后的幻想乡(动态规划)

    [BZOJ3925][ZJOI2015]地震后的幻想乡(动态规划) 题面 BZOJ 洛谷 题解 题目里面有一句提示:对于\(n\)个\([0,1]\)之间的随机变量\(x1,x2,...,xn\),第 ...

  2. BZOJ3925: [Zjoi2015]地震后的幻想乡

    Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任 ...

  3. [ZJOI2015]地震后的幻想乡(期望+dp)

    题目描述 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任务是尽快让幻想 ...

  4. BZOJ3925: [Zjoi2015]地震后的幻想乡【概率期望+状压DP】

    Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任 ...

  5. [bzoj3925] [洛谷P3343] [ZJOI2015] 地震后的幻想乡

    Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任 ...

  6. BZOJ 3925 ZJOI2015 地震后的幻想乡

    假设我们用了边权前i小的边使得图连通,那么对答案的贡献为i/m+1 又因为期望的线性性质,我们只需要求用了i条边就可以了 不妨设g(S)(i)表示用了i条边使得点集S连通的概率 设f(S)(i)表示用 ...

  7. BZOJ 3925: [Zjoi2015]地震后的幻想乡(概率)

    CLJ就是喜欢出ctsc上讲的东西,看来还是得找时间把他的那几道题做下 首先记f(x)为答案>x的概率,那么把这个东西从0到1积分就是答案了 f(x)<=>边小于x不能使图联通的概率 ...

  8. [ZJOI2015]地震后的幻想乡

    题目传送门 SOL:不会积分的我瑟瑟发抖. 所以我选择状压DP. 我们有以下一个dp状态: f[S][i],S表示点集,i表示这个点集向外联了i条边. 那么答案就是f[(1<<n)-1][ ...

  9. 洛谷P3343 [ZJOI2015]地震后的幻想乡 [DP,概率期望]

    传送门 思路 题目给了一个提示:对于\(n\)个\([0,1]\)的随机变量,其中第\(k\)小的期望大小是\(\frac{k}{n+1}\). 这引导我们枚举边的相对大小的全排列,然后求最小生成树 ...

随机推荐

  1. LoadRunner性能测试之常见函数及参数的说明和作用

       

  2. NFS笔记(一)NFS服务器工作原理及详细配置

    一.NFS工作原理 1.什么是NFS服务器 NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器.不同的操作系统可以共享彼此的文件. NFS服务器可以让P ...

  3. kk录像机怎么剪辑视频 kk录像机视频剪辑教程

    很多朋友录制视频都是用KK录像机,录制视频过后我们需要对视频进行修改和调整,下面小编就教大家怎么来剪辑KK录像机录制的视频 1.首先我们打开软件点[添加一个视频],添加需要剪切的视频 2.将播放指针移 ...

  4. April 20 2017 Week 16 Thursday

    We are all in the gutter, but some of us are looking at the stars. 我们都生活在阴沟里,但仍有人仰望星空. In the past m ...

  5. JS回调函数(理解篇)

    概述: 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而 ...

  6. *387. First Unique Character in a String (linkedhashmap + string) debug manunally instead of using leetcode

    The ability to debug and overall thinking need to improve Given a string, find the first non-repeati ...

  7. 腾讯CodeStar第二季前端突击队腐蚀的画解法步骤笔记

    所有题目地址:http://codestar.alloyteam.com/q2 本题内容:http://www.cnblogs.com/yedeying/p/3617593.html 腐蚀的画涉及到的 ...

  8. 的NodeJS异步数据库函数需要同步的答案 +

    我是新来的NodeJS和我写,需要从我去过的所有的函数应该是在这种情况下,读QUERY我的MySQL数据库,并返回代码,我非常希望服务器能够对其他事件作出回应而这个地方是轨迹查询请求.然而,它并不特别 ...

  9. sublime text 3 python 控制台输出中文乱码解决方案

    自建的python运行环境如下:python3 找到python3.sublime-build文件打开,在文件中加入"env": { "PYTHONIOENCODING& ...

  10. 1012: A MST Problem

    1012: A MST Problem 时间限制: 1 Sec  内存限制: 32 MB提交: 63  解决: 33[提交][状态][讨论版][命题人:外部导入] 题目描述 It is just a ...