luogu3343 [ZJOI2015]地震后的幻想乡
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]地震后的幻想乡的更多相关文章
- 【BZOJ3925】[ZJOI2015]地震后的幻想乡(动态规划)
[BZOJ3925][ZJOI2015]地震后的幻想乡(动态规划) 题面 BZOJ 洛谷 题解 题目里面有一句提示:对于\(n\)个\([0,1]\)之间的随机变量\(x1,x2,...,xn\),第 ...
- BZOJ3925: [Zjoi2015]地震后的幻想乡
Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任 ...
- [ZJOI2015]地震后的幻想乡(期望+dp)
题目描述 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任务是尽快让幻想 ...
- BZOJ3925: [Zjoi2015]地震后的幻想乡【概率期望+状压DP】
Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任 ...
- [bzoj3925] [洛谷P3343] [ZJOI2015] 地震后的幻想乡
Description 傲娇少女幽香是一个很萌很萌的妹子,而且她非常非常地有爱心,很喜欢为幻想乡的人们做一些自己力所能及的事情来帮助他们. 这不,幻想乡突然发生了地震,所有的道路都崩塌了.现在的首要任 ...
- BZOJ 3925 ZJOI2015 地震后的幻想乡
假设我们用了边权前i小的边使得图连通,那么对答案的贡献为i/m+1 又因为期望的线性性质,我们只需要求用了i条边就可以了 不妨设g(S)(i)表示用了i条边使得点集S连通的概率 设f(S)(i)表示用 ...
- BZOJ 3925: [Zjoi2015]地震后的幻想乡(概率)
CLJ就是喜欢出ctsc上讲的东西,看来还是得找时间把他的那几道题做下 首先记f(x)为答案>x的概率,那么把这个东西从0到1积分就是答案了 f(x)<=>边小于x不能使图联通的概率 ...
- [ZJOI2015]地震后的幻想乡
题目传送门 SOL:不会积分的我瑟瑟发抖. 所以我选择状压DP. 我们有以下一个dp状态: f[S][i],S表示点集,i表示这个点集向外联了i条边. 那么答案就是f[(1<<n)-1][ ...
- 洛谷P3343 [ZJOI2015]地震后的幻想乡 [DP,概率期望]
传送门 思路 题目给了一个提示:对于\(n\)个\([0,1]\)的随机变量,其中第\(k\)小的期望大小是\(\frac{k}{n+1}\). 这引导我们枚举边的相对大小的全排列,然后求最小生成树 ...
随机推荐
- hermite 相关算法整理
设f(x)f(x)在节点a≤x0,x1,⋯,xn≤ba≤x0,x1,⋯,xn≤b处的函数值为f0,f1,...,fnf0,f1,...,fn,设P(x)为f(x)P(x)为f(x)在区间[a,b][a ...
- Windows 系统System帐号及权限
今天碰到一同事,在那里删除注册表,死活都删除不掉,想起以前在学校的时候老是被莫名的被别人叫过去修电脑(开玩笑,真觉得那时候的我比现在牛B很多),什么删除不掉的东西没见过,然后小小的百度了一下很快就帮他 ...
- github设置添加SSH(转载自:破男孩)
注:本文来源于 破男孩 博客(http://www.cnblogs.com/ayseeing/p/3572582.html)能切实解决问题. 很多朋友在用github管理项目的时候,都是直接使用htt ...
- 科大讯飞语音转文字以及中文分词的Java测试代码
我录了一段音存储在这个test.m4a文件里,语音内容为"测试一下Netweaver对于并发请求的响应性能". 使用如下Java代码进行测试: package com.iflyte ...
- IOS 获取.plist文件的数据
@property (nonatomic,strong) NSArray *apps; //获取.plist数据 /**获取plist文件的数组数据*/ -(NSArray *)apps{ if( ...
- SQL语句关于时间的查询小心得,希望大家给点意见
完全使用时间函数去搞定查询日期,之前写的可能有些问题,现在删了修正一下 本月记录: SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())= ...
- 【CCPC-Wannafly Winter Camp Day4 (Div1) G】置置置换(动态规划)
点此看题面 大致题意: 求出有多少个长度为\(n\)的排列满足对于奇数位\(a_{i-1}<a_i\),对于偶数位\(a_{i-1}>a_i\). 考虑打表? 考虑每次只有一个数\(n\) ...
- 两次DFS,POJ(1481)
题目链接:http://poj.org/problem?id=1481 两次DFS,这里的思路是,没找到*,就说明,有一个骰子,因此,每搜索到一个*,深搜4个方向,并且变为'.',要是搜到'X',就是 ...
- python 3+djanjo 2.0.7简单学习(二)--创建数据库和模型
我们紧接上次,这里将建立数据库,创建第一个模型提示:这里我们不需要去一直启动,django会在我们ctrl+s的时候自动刷新并启动服务,很方便吧 1.数据库配置 现在,打开 vote_mysite/ ...
- gulp详细教程——前端自动化构建工具
项目构建 一个项目是由多个开发者共同开发一个项目,各负责不同的模块,这就会造成一个完整的项目许多‘代码片段’组成,合并css.javascript,压缩html.css.javascript.imag ...