Solution -「AGC 020F」Arcs on a Circle
\(\mathscr{Description}\)
Link.
在一个周长为 \(c\) 的圆周上放置长度分别为 \(l_1,l_2,\cdots,l_n\) 的弧,每条弧的位置独立均匀随机。求圆周被弧的并完全覆盖的概率。
\(n\le6\),\(c\le50\),输入均为整数。
\(\mathscr{Solution}\)
记一个几乎没见过的 trick。顺便,真就 \(n\) 越小题越难呗。
不妨设 \(l_1\le\cdots\le l_n\),首先取 \(l_n\) 的左端点为坐标 \(0\) 点,将圆弧展开成数轴,如此可以避免“某条弧跨过 \(0\) 点向后覆盖”的情况。由于 \(l_i\) 为整数,所以所有 \(l\) 的端点坐标一定可以表示为 \(k+\epsilon\),其中 \(\epsilon\in S\subseteq[0,1)\),且 \(|S|\le n\)。忽略次要矛盾,\(|S|=n\)。直接枚举 \(l_{1..n-1}\) 的左端点 \(\epsilon\) 大小关系,就把问题转化到离散情况。状压 DP 一下即可。复杂度 \(\mathcal O(n!2^nn^2c^2)\)。
\(\mathscr{Code}\)
/*+Rainybunny+*/
#include <bits/stdc++.h>
#define rep(i, l, r) for (int i = l, rep##i = r; i <= rep##i; ++i)
#define per(i, r, l) for (int i = r, per##i = l; i >= per##i; --i)
const int MAXN = 6, MAXC = 50;
int n, c, prm[MAXN + 5], l[MAXN];
double f[MAXN * MAXC + 5][1 << MAXN >> 1];
int main() {
scanf("%d %d", &n, &c);
rep (i, 0, n - 1) scanf("%d", &l[i]);
std::sort(l, l + n);
double ans = 0.; int all = 0;
rep (i, 0, n - 2) prm[i] = i;
do {
memset(f, 0, sizeof f);
f[l[n - 1] * n][0] = 1;
rep (i, 1, n * c) if (i % n) {
int r = i % n - 1;
rep (j, i, n * c) {
rep (S, 0, (1 << n >> 1) - 1) if (~S >> r & 1) {
f[std::min(c * n, std::max(j, i + l[prm[r]] * n))]
[S | 1 << r] += f[j][S];
}
}
}
ans += f[c * n][(1 << n >> 1) - 1], ++all;
} while (std::next_permutation(prm, prm + n - 1));
printf("%.12f\n", ans / all / pow(c, n - 1));
return 0;
}
Solution -「AGC 020F」Arcs on a Circle的更多相关文章
- Solution -「AGC 036D」「AT 5147」Negative Cycle
\(\mathcal{Descriprtion}\) Link. 在一个含 \(n\) 个结点的有向图中,存在边 \(\lang i,i+1,0\rang\),它们不能被删除:还有边 \(\l ...
- Solution -「AGC 016F」Games on DAG
\(\mathcal{Description}\) Link. 给定一个含 \(n\) 个点 \(m\) 条边的 DAG,有两枚初始在 1 号点和 2 号点的棋子.两人博弈,轮流移动其中一枚棋 ...
- Solution -「AGC 026D」Histogram Coloring
\(\mathcal{Description}\) Link. 有 \(n\) 列下底对齐的方格纸排成一行,第 \(i\) 列有 \(h_i\) 个方格.将每个方格染成黑色或白色,求使得任意完 ...
- Solution -「AGC 004E」「AT 2045」Salvage Robots
\(\mathcal{Description}\) Link. 有一个 \(n\times m\) 的网格.每个格子要么是空的,要么有一个机器人,要么是一个出口(仅有一个).每次可以命令所有机 ...
- Solution -「AGC 012F」「AT 2366」Prefix Median
\(\mathcal{Description}\) Link. 给定序列 \(\{a_{2n-1}\}\),将 \(\{a_{2n-1}\}\) 按任意顺序排列后,令序列 \(b_i\) 为前 ...
- Solution -「AGC 010C」「AT 2304」Cleaning
\(\mathcal{Description}\) Link. 给定一棵 \(n\) 个点的无根树,点有点权,每次选择两个不同的叶子,使它们间的简单路径的所有点权 \(-1\),问能否将所有点 ...
- Solution -「AGC 019E」「AT 2704」Shuffle and Swap
\(\mathcal{Description}\) Link. 给定 \(01\) 序列 \(\{A_n\}\) 和 \(\{B_n\}\),其中 \(1\) 的个数均为 \(k\).记 \( ...
- Solution -「AGC 019F」「AT 2705」Yes or No
\(\mathcal{Description}\) Link. 有 \(n+m\) 个问题,其中 \(n\) 个答案为 yes,\(m\) 个答案为 no.每次你需要回答一个问题,然后得知这个 ...
- Solution -「AGC 013E」「AT 2371」Placing Squares
\(\mathcal{Description}\) Link. 给定一个长度为 \(n\) 的木板,木板上有 \(m\) 个标记点,第 \(i\) 个标记点距离木板左端点的距离为 \(x_i\ ...
- Solution -「AGC 003D」「AT 2004」Anticube
\(\mathcal{Description}\) Link. 给定 \(n\) 个数 \(a_i\),要求从中选出最多的数,满足任意两个数之积都不是完全立方数. \(n\le10^5\) ...
随机推荐
- 今日一学,5道Java基础面试题(附Java面试题及答案整理)
前言 马上国庆了,本来想着给自己放松一下,刷刷博客,慕然回首,自动拆装箱?equals?==?HashCode? instanceof? 似乎有点模糊了,那就大概看一下5道Java基础面试题吧.好记性 ...
- redis哨兵模式下主从切换后,php实现自动切换
redis的哨兵模式,在主服务器挂掉后,会通过选举将对应的从服务器切换为主服务器,以此来达到服务的高可用性. 在业务层面如果主从做了切换可能相对应的服务器IP地址会发生改变,这样会带来程序的的正常运行 ...
- 牛客多校H题题解
链接:[https://ac.nowcoder.com/acm/contest/81597/H] 来源:牛客网 题目描述 Red stands at the coordinate \((0,0)\) ...
- golang之枚举类型iota
枚举类型是一种常用的数据类型,用于表示一组有限的.预定义的.具名的常量值.在枚举类型中,每个常量都是一个枚举值,它们之间的值相等且唯一. 枚举类型通常用于表示一组相关的常量,比如星期.月份.性别等等. ...
- mongo迁移工具之mongo-shake
最近需要进行MongoDB中数据迁移,之前使用过阿里系的redisShake感觉不错, 这次打算使用mongoShake来进行同步 github: https://github.com/alibaba ...
- Mac下常用软件汇总(精)
1.连接Windows远程连接工具(Microsoft-Remote-Desktop-For-Mac ) 2.SSH管理工具:Royal TSX 下载地址:Royal Apps Royal TSX 是 ...
- Springboot优雅读配置文件
转载自Springboot优雅读配置文件 很多时候我们需要将一些常用的配置信息比如阿里云oss配置.发送短信的相关信息配置等等放到配置文件中. 下面我们来看一下 Spring 为我们提供了哪些方式帮助 ...
- 解密prompt系列44. RAG探索模式?深度思考模式?
前一阵多步RAG的风吹入了工业界,kimi推出了探索版本,各应用都推出了深度搜索,You.COM更是早就有了Genius的多步模式.其实都是类似multi-hop RAG的实现.之前学术界在讨论mul ...
- Navicat连接Oracle数据库报错:oracle library is not loaded解决方法
连接Oracle时提示"oracle library is not loaded". 去Oracle官网下载Oracle Instant Client Downloads. htt ...
- COSBrowser文件链接导出——爆赞的本地化管理功能
前言 用过COSBrowser的小伙伴们应该都知道,COSBrowser的文件分享功能非常好用.但是,文件分享功能又有所局限,就是它只能分享单个文件,而文件夹分享,更有其因为部分必要因素,如安全性 ...