bzoj1417: Pku3156 Interconnect
来源:互联网 发布:未来软件家园 编辑:程序博客网 时间:2024/05/17 16:15
传送门
其实我们不关心联通状态,我们只关心联通块大小。
然后枚举加边情况,
是否连接了不同的联通块。
然后加一个记忆话搜索就可以了
#include<map>#include<cmath>#include<vector>#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<algorithm>#define vec vector<int>using namespace std;map<vec,double> mp;vec ve;int fa[105],sz[105],all,n,m,x,y;int get(int x){ return fa[x]==x?x:fa[x]=get(fa[x]);}double dp(vec ve){ if (mp.count(ve)) return mp[ve]; if (ve.size()==1) return mp[ve]=0; int sz=ve.size(),p=0; for (int i=0;i<sz;i++) p+=ve[i]*(ve[i]-1)/2; double ans=1.0*all/(all-p); for (int i=1;i<sz;i++) for (int j=0;j<i;j++){ vec v=ve; v[j]+=v[i]; swap(v[i],v[sz-1]); v.pop_back(); sort(v.begin(),v.end()); ans+=1.0*ve[i]*ve[j]/(all-p)*dp(v); } return mp[ve]=ans;}int main(){ scanf("%d%d",&n,&m); for (int i=1;i<=n;i++) fa[i]=i,sz[i]=1; for (int i=1;i<=m;i++){ scanf("%d%d",&x,&y); x=get(x); y=get(y); if (x!=y) fa[x]=y,sz[y]+=sz[x]; } for (int i=1;i<=n;i++) if (i==fa[i]) ve.push_back(sz[i]); sort(ve.begin(),ve.end()); all=n*(n-1)/2; printf("%.6lf\n",dp(ve));}
阅读全文
0 0
- bzoj1417: Pku3156 Interconnect
- bzoj1417: Pku3156 Interconnect
- [期望DP] BZOJ 1417 Pku3156 Interconnect
- BZOJ 1417: Pku3156 Interconnect 期望DP
- BZOJ 1417: Pku3156 Interconnect (期望DP)
- RapidIO Interconnect
- Interconnect UVA
- POJ 3156 Interconnect
- POJ 3156 Interconnect 笔记
- Investigating Oracle RAC Interconnect Performance
- 关于RAC Interconnect之HAIP
- [概率DP 哈希] POJ3156 .Interconnect
- uva 1390 - Interconnect(期望+哈希+记忆化)
- Interconnect - POJ 3156 期望+状压dp
- POJ 3156 Interconnect(期望DP)
- uva1390 Interconnect(状态数组dp)
- RAC,InfiniBand,RDS,private,Interconnect相关
- ARM CoreLink NIC-400 Network Interconnect Technical
- laravel学习
- 权限修饰符、状态修饰符、抽象修饰符使用规则
- 常用ADB命令使用和adb logcat 命令行用法 monkey压力测试
- Android 自定义弹窗
- 教你彻底解决Eclipse自动补全变量
- bzoj1417: Pku3156 Interconnect
- Java中一次对象的自我拯救探究
- c#动态编译,自己做了个c#脚本管理框架,可以作为其他应用的插件使用。增强程序的拓展性
- Codeforces Round #409 C
- kotlin开发工具介绍(二)
- ES6 尾调用优化--函数编程中规范
- 我与尿常规不得不说的故事(三):瑞氏染液
- Android 解决图片显示时左右出现空白的问题
- java.lang.ClassNotFoundException: com.google.gson.Gson 问题解决