P3343-[ZJOI2015]地震后的幻想乡【dp,数学期望】
正题
题目链接:https://www.luogu.com.cn/problem/P3343
题目大意
给出nnn个点的一张无向图,每条边被修复的时间是[0,1][0,1][0,1]的一个随机实数,求这张图联通期望时间。
1≤n≤10,m≤n(n−1)21\leq n\leq 10,m\leq \frac{n(n-1)}{2}1≤n≤10,m≤2n(n−1)
解题思路
这个随机实数好像是用来吓人的(但是概率分布函数好像能搞)
假设修好了kkk条之后恰好联通了,那么期望需要的时间就是km+1\frac{k}{m+1}m+1k
好了现在要求恰好在kkk条边修好之后联通的方案,因为每条边修好的先后顺序是完全随机的。
设fS,if_{S,i}fS,i在生成子图SSS中修好了iii条边是没有联通的方案,gS,ig_{S,i}gS,i则表示联通了的方案,dSd_{S}dS表示生成子图SSS的边数。
求fS,if_{S,i}fS,i的话和之前的[集训队作业2013]城市规划思路很向,考虑扩展出一个新的点kkk,那么我们枚举一个包含kkk的联通块T(k∈T,T⊆S)T(k\in T,T\subseteq S)T(k∈T,T⊆S),然后合并这个联通块后其他的乱选,就有方程
fS,i=∑k∈T,T⊆S∑j=0min{dT,i}gT,j×(dS−Ti−j)f_{S,i}=\sum_{k\in T,T\subseteq S}\sum_{j=0}^{min\{d_{T},i\}}g_{T,j}\times \binom{d_{S-T}}{i-j}fS,i=k∈T,T⊆S∑j=0∑min{dT,i}gT,j×(i−jdS−T)
然后gS,ig_{S,i}gS,i不需要专门的方程因为有fS,i+gS,i=(dSi)f_{S,i}+g_{S,i}=\binom{d_S}{i}fS,i+gS,i=(idS)
然后答案就是
∑i=0mim+1(fG,i(dGi)−fS,i−1(dGi−1))=1m+1∑i=0mfG,i(dGi)\sum_{i=0}^{m}\frac{i}{m+1}(\frac{f_{G,i}}{\binom{d_G}{i}}-\frac{f_{S,i-1}}{\binom{d_G}{i-1}})=\frac{1}{m+1}\sum_{i=0}^m\frac{f_{G,i}}{\binom{d_G}{i}}i=0∑mm+1i((idG)fG,i−(i−1dG)fS,i−1)=m+11i=0∑m(idG)fG,i
时间复杂度O(3nn2)O(3^nn^2)O(3nn2)
code
#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=10;
ll n,m,e[1<<N],d[1<<N],g[1<<N][N*N/2],f[1<<N][N*N/2],C[51][51];
signed main()
{scanf("%lld%lld",&n,&m);for(ll i=1;i<=m;i++){ll x,y;scanf("%lld%lld",&x,&y);x--;y--;e[(1<<x)|(1<<y)]++;}ll MS=(1<<n);for(ll s=0;s<MS;s++)for(ll t=s;t;t=(t-1)&s)d[s]+=e[t];C[0][0]=1;for(ll i=1;i<=50;i++)for(ll j=0;j<=50;j++)C[i][j]=(j?C[i-1][j-1]:0)+C[i-1][j];for(ll s=1;s<MS;s++){for(ll i=0;i<=d[s];i++){ll k=s&-s;for(ll t=(s-1)&s;t;t=(t-1)&s)if(t&k)for(ll j=0;j<=min(i,d[t]);j++)f[s][i]+=g[t][j]*C[d[s-t]][i-j];g[s][i]=C[d[s]][i]-f[s][i];}}double ans=0;for(ll k=0;k<=m;k++)ans+=(double)f[MS-1][k]/C[m][k];printf("%.6lf\n",ans/(double)(m+1));return 0;
}
P3343-[ZJOI2015]地震后的幻想乡【dp,数学期望】相关推荐
- 【BZOJ3925】[ZJOI2015]地震后的幻想乡(动态规划)
[BZOJ3925][ZJOI2015]地震后的幻想乡(动态规划) 题面 BZOJ 洛谷 题解 题目里面有一句提示:对于\(n\)个\([0,1]\)之间的随机变量\(x1,x2,...,xn\),第 ...
- 3925: [Zjoi2015]地震后的幻想乡
3925: [Zjoi2015]地震后的幻想乡 Time Limit: 10 Sec Memory Limit: 256 MB Submit: 615 Solved: 362 [ Submit ...
- BZOJ 3925 [Zjoi2015]地震后的幻想乡 ——期望DP
我们只需要考虑$\sum F(x)P(x)$的和, $F(x)$表示第x大边的期望,$P(x)$表示最大为x的概率. 经过一番化简得到$ans=\frac{\sum T(x-1)}{m+1}$ 所以就 ...
- [ZJOI2015] 地震后的幻想乡(状压dp + 期望)
problem luogu-P3343 solution dp(i):dp(i):dp(i): 当恰好加入第 iii 小边时候,所有点联通的方案数. 则 ans=∑idpi(mi)im+1ans=\s ...
- BZOJ 3925: [Zjoi2015]地震后的幻想乡(概率)
CLJ就是喜欢出ctsc上讲的东西,看来还是得找时间把他的那几道题做下 首先记f(x)为答案>x的概率,那么把这个东西从0到1积分就是答案了 f(x)<=>边小于x不能使图联通的概率 ...
- BZOJ 3925 [Zjoi2015]地震后的幻想乡
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3925 题意:给定一个 n n点mm边的无向图,没有重边和自环,每条边的权值为 [0,1] [0 ...
- 聪聪和可可(记忆化dp+数学期望)
emmmm 输入格式 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数. 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号. 接下 ...
- 【Luogu】P3343地震后的幻想乡(对积分概率进行DP)
题目链接 神难qwq.配合rqy的博客食用. 首先我们学到有一个概率函数$p(x)$表示某事件发生概率取值小于x的函数.这个函数有什么特点呢? 那就是$\int_{-∞}^{∞}p(x)dx=1$ 这 ...
- 【ZJOI2015】醉醺醺的幻想乡 题解
浙江神选的划时代意义的究极神仙题,感谢 qlz 神仙的无私帮助. Description 传送门 Solution 算法一 第一问很容易想到网络流解决,考虑第二问.然而,费用的计算式并不是普通的一次函 ...
最新文章
- Android笔记(adb命令--reboot loader)
- POJ 1207 The 3n + 1 problem
- Java B2B2C多用户商城 springcloud架构-服务容错保护(Hystrix服务降级)
- 二、传统数据库遇到的挑战
- DL之FAN:FAN人脸对齐网络(Face Alignment depth Network)的论文简介、案例应用之详细攻略
- html中字体响应式怎么写,css字体单位之间的区分以及字体响应式实现_html/css_WEB-ITnose...
- 尝试:Script Lab,开发模式之知识储备//SL02
- 常用正则:身份证号码验证正则表达式
- 点击率预测的贝叶斯平滑
- MySQL数据的重复处理
- JSK-27 三值排序【贪心】
- 机器学习初探:Logistic选股模型实证
- max如何渲染多张图片
- 从零开始学android:环境搭建
- zznu 1914 asd的甩锅计划
- 移动游戏机和PC已合并游戏的奇点
- 组合业务流程管理与区块链
- 谈谈数据结构的重要性
- linux硬盘对拷 软件,分享|10 个免费的磁盘克隆软件
- 聊聊SQL语句中 DDL 、DML 、DQL 、DCL 分别是什么
热门文章
- linux mint 用户管理,Linux Mint 新工具:将网站转变为独立的应用
- easyui数据请求两个url_jQuery Easyui datagrid连续发送两次请求问题
- lisp正负调换_坐标提取lisp程序
- java utf8 转换al32utf8_java与Unicode
- Java面试会问的——数组、声明、初始化、冒泡、多维数组、稀疏数组
- android工程jrr版本怎么改,ionic3 生成android 如何控制versionCode版本号
- mysql rpm 安装后修改路径_mysql rpm包安装后修改数据目录
- cass小插件集合_插件|如何精准提取CASS方格网高程点?
- html css 重复,CSS重复定义的问题请教_html/css_WEB-ITnose
- python中闭包不是立刻执行_一道神奇的Python面试题,你会吗?