zzuli 1728: 社交网络(求期望值)
来源:互联网 发布:协和怎么挂号 知乎 编辑:程序博客网 时间:2024/06/05 20:48
http://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1728
1728: 社交网络
Time Limit: 2 Sec Memory Limit: 128 MBSubmit: 206 Solved: 50
SubmitStatusWeb Board
Description
Input
Output
Sample Input
22 10 11 03 10 1 11 0 11 1 0
Sample Output
0.5001.125
HINT
校赛那时候没来的及看这道题,后来做校赛重现赛时一直在研究这道题,推出了一个公式,自认为公式推的没有bug,交了n多次都是WA,补题时才发现了错误
求出第i个人认识的m个人中有(k---m)个男性的可能组合数,然后除以第i个人加上第i个人认识的m个人的总排列方案2^(val[i]+1);
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<cmath>using namespace std;#define N 110#define met(a, b) memset(a, b, sizeof(a))using namespace std;int a[N][N], val[N], dp[40][40];void Init(){ for (int i=1; i<40; i++) dp[i][1] = i, dp[i][0] = 1; for (int i=2; i<40; i++) for (int j=2; j<=i; j++) dp[i][j] = dp[i-1][j] + dp[i-1][j-1];}int main (){ int t, n, k; scanf ("%d", &t); Init();///打表求组合数 while (t--) { met (a, 0); met (val, 0); scanf ("%d %d", &n, &k); for (int i=1; i<=n; i++) for (int j=1; j<=n; j++) { scanf ("%d", &a[i][j]); if (a[i][j]) val[i]++; } double cnt = 0; for (int i=1; i<=n; i++) for (int j=k; j<=n; j++) if (val[i] >= j) cnt += (dp[val[i]][j]*1.0 / pow (2, val[i]+1)); printf ("%.3f\n", cnt); //printf ("%.3f\n", 1.0/16.0); } return 0;}/*5 10 1 0 0 01 0 1 0 10 1 0 1 00 0 1 0 00 1 0 0 0*/
1 0
- zzuli 1728: 社交网络(求期望值)
- zzuli 1728 Problem D: 社交网络(概率论)@
- 【dp求期望值】POJ 3756
- 【NOI2007T1】社交网络-Floyd求最短路
- 社交网络
- “社交网络”
- 社交网络
- 社交网络
- zzuli OJ 1012: 求绝对值
- hdu 1099 (求期望值,分数求和模拟,gcd,lcm)
- 推荐算法:社交化网络:社交网络
- NOI 2007 社交网络 (COGS 15) Floyd求最短路及方案数
- 社交网络 知识搜索
- 社交网络的魅力
- 社交网络的魅力
- 社交网络的魅力
- 社交网络的魅力
- 网络社交英语漫谈
- mac下配置svn
- 始
- 剑指offer-面试题42:翻转单词顺序VS左旋转字符串
- 求最大公约数与最小公倍数
- LeetCode - Best Time to Buy and Sell Stock
- zzuli 1728: 社交网络(求期望值)
- java泛型方法的使用
- Storm 1.0.0 稳定版发布
- 栈和堆的区别
- 最小生成树
- HDUOJ 1060 Leftmost Digit(求最左位公式)
- NSPredicate谓词
- java泛型
- flume简介