UVA-11600-Masud Rana
来源:互联网 发布:苹果下软件赚钱的软件 编辑:程序博客网 时间:2024/05/21 10:09
ACM模版
描述
题解
很神的一个期望状压树型
第一步:进行缩点,因为有的点本身就是联通的,所以缩成一个点
第二步:设
现在来分析一下状态转移关系,设
这个状态转移部分着实不好想,期望很玄……头疼。
保存六位小数……
代码
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <map>#define INF 0x3f3f3f3f#define MAXN 32#define MAXM 500using namespace std;int T, N, M, tot;int vis[MAXN];int cnt[MAXN];int mp_[MAXN][MAXN];map<int, double> dp[MAXM];void dfs(int x){ vis[x] = 1; cnt[tot]++; for (int i = 1; i <= N; i++) { if (mp_[x][i] && !vis[i]) { dfs(i); } }}int num(int x){ int ret = 0; for (int i = 0; i < tot; i++) { if (x & (1 << i)) { ret += cnt[i]; } } return ret;}double get_dp(int u, int st){ if (dp[u].count(st)) { return dp[u][st]; } double &ans = dp[u][st]; int n = num(st); if (n == N) { return ans = 0; } ans = 1.0 * (N - 1) / (N - n); for (int i = 0; i < tot; i++) { if (!(st & (1 << i))) { ans += get_dp(i, st | (1 << i)) * cnt[i] / (N - n); } } return ans;}int main(){ scanf("%d", &T); for (int ce = 1; ce <= T; ce++) { scanf("%d%d", &N, &M); memset(mp_, 0, sizeof(mp_)); memset(vis, 0, sizeof(vis)); memset(cnt, 0, sizeof(cnt)); int u, v; while (M--) { scanf("%d%d", &u, &v); mp_[u][v] = mp_[v][u] = 1; } // 缩点 tot = 0; for (int i = 1; i <= N; i++) { if (!vis[i]) { dfs(i); tot++; } } for (int i = 0; i < N; i++) { dp[i].clear(); } printf("Case %d: %.6lf\n", ce, get_dp(0, 1)); } return 0;}
阅读全文
0 0
- UVA 11600 Masud Rana
- UVA-11600-Masud Rana
- UVA 10600 Masud Rana
- UVA 11600 - Masud Rana(状态压缩DP+记忆化搜索)
- uva 11600 - Masud Rana(记忆化搜索)
- Masud Rana - UVa 11600 dp 并查集
- UVA 11600 Masud Rana 并查集+状压概率dp
- uva11600 - Masud Rana 状态压缩 期望
- G. Snake Rana 容斥原理
- Snake Rana ——(暴力+容斥+计数)
- 2017 ACM Arabella Collegiate Programming Contest G. Snake Rana GYM101350G
- uva 11600(期望dp)
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- Haskell语言学习笔记(27)Endo, Dual, Foldable
- 【LeetCode】540. Single Element in a Sorted Array
- 线段树入门&lazy思想
- 采用eclipse作为IDLE,python或anaconda作为编译器 的配置方法
- [LeetCode] 递归求解二叉树路径之和是否等于给定值(2)
- UVA-11600-Masud Rana
- mysql命令gruop by报错this is incompatible with sql_mode=only_full_group_by
- java AWT 五子棋
- Http+servlet
- Redis学习(一)-----初识redis
- 基本数据类型参数的传值
- python3.6.1环境配置出现Requirement already up-to-date: pip in c:\python36\lib\site-packages决解方案
- 51Nod 1499 图(最小割+边在割的一边有收益建图)
- <设计模式可复用面向对象软件的基础> [2.4]、装饰者模式(C#)