【概率dp】vijos 3747 随机图
没有养成按状态逐步分析问题的思维
题目描述
在一张图内,两点$i,j$之间有$p$的概率的概率生成一条边。求该图不出现大小$\ge 4$连通块的概率。
$n \le 100,答案在实数意义下$
题目分析
首先应当想到的是枚举连通块大小为$1,2,3$的点数。
有一种想法是枚举出三种点个数之后组合算出这种情况下的方案数。但是这个方案数会非常大,不取模则不现实。
于是应当dp地来看这个问题,考虑每次加一个点后概率是如何变化的。于是只需要分类讨论一下5种情况就好了。
重点在于用dp的视角看待这个问题
#include<bits/stdc++.h> int n;
double p,q,ans,f[][][]; double qmi(double a, int b)
{
double ret = ;
for (; b; b>>=,a=a*a)
if (b&) ret *= a;
return ret;
}
int main()
{
scanf("%d%lf",&n,&p);
q = (1000.0-p)/1000.0, p /= 1000.0;
f[][][] = ;
for (int ix=,i,j,k; ix<=n; ix++)
for (int jx=; jx<=ix; jx++)
for (int kx=; kx+jx<=ix; kx+=)
if ((ix-jx-kx)%==){
i = jx, j = kx, k = ix-jx-kx;
if (i) f[i][j][k] += qmi(q, ix-)*f[i-][j][k];
if (j) f[i][j][k] += qmi(q, ix-)*p*(i+1.0)*f[i+][j-][k];
if (k){
f[i][j][k] += qmi(q, ix-)*p*(j+2.0)*f[i][j+][k-]+qmi(q, ix-)*p*p*(j/+)*f[i][j+][k-]+qmi(q, ix-)*p*p*(i+2.0)*(i+1.0)/2.0*f[i+][j][k-];
}
}
for (int i=; i<=n; i++)
for (int j=; i+j<=n; j+=)
if ((n-i-j)%==)
ans += f[i][j][n-i-j];
printf("%.4lf\n",1.0-ans);
return ;
}
END
【概率dp】vijos 3747 随机图的更多相关文章
- [CSP-S模拟测试]:糊涂图(概率DP)
题目传送门(内部题76) 输入格式 第一行输入三个空格隔开的整数$n,m,s$表示随机加一条边之前的糊涂图的点数,边数,以及起点的编号. 接下来$m$行,每行两个空格隔开的整数$a,b$表示从$a$到 ...
- poj 2096 Collecting Bugs (概率dp 天数期望)
题目链接 题意: 一个人受雇于某公司要找出某个软件的bugs和subcomponents,这个软件一共有n个bugs和s个subcomponents,每次他都能同时随机发现1个bug和1个subcom ...
- 概率dp专辑
求概率 uva11021 http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- 【bzoj5004】开锁魔法II 组合数学+概率dp
题目描述 有 $n$ 个箱子,每个箱子里有且仅有一把钥匙,每个箱子有且仅有一把钥匙可以将其打开.现在随机打开 $m$ 个箱子,求能够将所有箱子打开的概率. 题解 组合数学+概率dp 题目约定了每个点的 ...
- 【BZOJ 2878】 2878: [Noi2012]迷失游乐园 (环套树、树形概率DP)
2878: [Noi2012]迷失游乐园 Description 放假了,小Z觉得呆在家里特别无聊,于是决定一个人去游乐园玩.进入游乐园后,小Z看了看游乐园的地图,发现可以将游乐园抽象成有n个景点.m ...
- 刷题总结——随机图(ssoi)
题目: 随机图 (random.cpp/c/pas) [问题描述] BG 为了造数据,随机生成了一张�个点的无向图.他把顶点标号为1~�. 根据BG 的随机算法,对于一个点对�, �(1 ≤ � &l ...
- 动态规划之经典数学期望和概率DP
起因:在一场训练赛上.有这么一题没做出来. 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6829 题目大意:有三个人,他们分别有\(X,Y,Z\)块钱 ...
- POJ 3156 - Interconnect (概率DP+hash)
题意:给一个图,有些点之间已经连边,现在给每对点之间加边的概率是相同的,问使得整个图连通,加边条数的期望是多少. 此题可以用概率DP+并查集+hash来做. 用dp(i,j,k...)表示当前的每个联 ...
- CodeForces 540D--Bad Luck Island(概率DP)
貌似竟然是我的第一道概率DP.. 手机码代码真不舒服.... /************************************************ Memory: 67248 KB Ti ...
随机推荐
- fastclick.js
<script src="//cdn.bootcss.com/fastclick/1.0.6/fastclick.js"></script> //<s ...
- js统计页面中各个标签出现的次数,倒序排列
// html <html> <div>hello</div> <div>world</div> <a href="&quo ...
- [Cometoj#4 C]方块切割_质因数分解_贪心
方块切割 题目链接:https://cometoj.com/contest/39/problem/C?problem_id=1583 数据范围:略. 题解: 首先,如果我们知道了多少道在行上,多少刀在 ...
- 为服务部署 Jekins的使用
docker pull jenkinsci/jenkins docker run -d -p 8080:8080 -v E:/docker/jenkins:/var/jenkins_home --na ...
- CF1032B Personalized Cup
一个多月前写的题,既然没人写题解,那蒟蒻就写一篇吧 基本思路 既然是输出任意一个解,那么号的位置在那里是没有关系的.我的思路是默认*号在最后面,然后对输入的字符串输出的行数进行分类. 代码 #incl ...
- Kernel--试题
1. 内核堆栈区别: 1.栈自动分配回收,函数里面声明的变量:2.堆:malloc kmalloc申请的空间,需要自己释放 https://blog.csdn.net/tainjau/article/ ...
- Secret的三种形式
Secret ConfigMap这个资源对象是Kubernetes当中非常重要的一个对象,一般情况下ConfigMap是用来存储一些非安全的配置信息,如果涉及到一些安全相关的数据的话用ConfigMa ...
- Springboot使用外置tomcat的同时使用websocket通信遇到的坑
随意门:https://blog.csdn.net/qq_43323720/article/details/99660430 另外,使用了nginx的话,需要注意开放websocket支持 serve ...
- 泛型约束:接口约束、new()构造函数约束、组合约束(即多种约束合并)
泛型 接口约束: using System; namespace ConsoleApp1 { /* * * 接口约束:where T:interfaceName * T是类型形参的名称,interfa ...
- c# winform找窗体
Application.OpenForms["frm"],一句话就找到窗体