acgo题库
  • 首页
  • 题库
  • 学习
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情提交记录(0)
  • 题解

    #include <algorithm> #include <cstdio> #include <cstring> const int N = 10; const int M = 45 + 1; bool vis[1 << N][M]; int siz[1 << N], link[N]; double f[1 << N][M]; int main() { int n, m; scanf("%d%d", &n, &m); int lim = 1 << n; for (int i = 0, x, y; i < m; ++i) { scanf("%d%d", &x, &y); --x; --y; link[x] |= (1 << y); link[y] |= (1 << x); } for (int S = 1; S < lim; ++S) siz[S] = siz[S & (S - 1)] + 1; for (int S1 = 3; S1 < lim; ++S1) if (S1 & 1) { for (int S2 = (S1 - 1) & S1; S2 != 0; S2 = (S2 - 1) & S1) if (S2 & 1) { int T = 0; for (int i = 0; i < n; ++i) if ((S1 >> i) & (~S2 >> i) & 1) T += siz[link[i] & S2]; for (int i = 0; i + T <= m; ++i) f[S1][i] += 1.0 / (i + T + 1) - f[S2][i + T]; } } printf("%.6lf\n", f[lim - 1][0]); return 0; }

    userId_undefined

    皮皮虾🦐复仇者-小K

    18阅读
    0回复
    1点赞
  • AC题解

    userId_undefined

    ༺ཌༀཉི༒元༒帅™༒༃ༀད༻

    时间刺客空间掌握者时空双修者秩序白银
    2阅读
    0回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页