题解【一个有趣的题目】

jijidawang

2020-04-21 16:40:41

Personal

- [云剪切板链接](https://www.luogu.com.cn/paste/y7eaufyf) ## 题面简述 > 在一个 $n$ 维的圆**上**(不包含内部)任选 $n+1$ 个点组成的 $n+1$ 边形包含圆心的概率是多少?答案使用 $\dfrac{1}{k}$ 表示,输出 $k$,保留两位小数。 > $2\le n\le 60$ ## 算法分析 我们先考虑二维选三个点的情况。 可以先选出过圆心的两条直线 $A_1B_1$ 和 $A_2B_2$ 再选出一点 $C$,我们只需要在 $A_1,A_2$ 中选一个点再在 $B_1,B_2$ 中选一个点再与 $C$ 连接即可。 ![J87ORf.png](https://s1.ax1x.com/2020/04/21/J87ORf.png) $$\tiny\color{gray}\text{四个多边形}$$ 我们发现四个多边形中只有一个是包含圆心的: [点击查看 gif 图片](https://share.weiyun.com/54jPXcV)(比较大直接放到网页会卡awa) 由取直线与取点是均匀的,所以概率为 $\dfrac{1}{4}$。 *** 我们拓展到三维。 同理选过圆心三直线 $A_1B_1$,$A_2B_2$,$A_3B_3$,然后取点 $C$。 同理可发现 $8$ 个多面体有 $1$ 种包含圆心,概率为 $\dfrac{1}{8}$。 ![J8ThHs.png](https://s1.ax1x.com/2020/04/21/J8ThHs.png) $$\tiny\color{gray}\text{一种可行解}$$ *** 同理我们拓展到 $k$ 维,选 $A_1B_1$,$A_2B_2$,$A_3B_3$,$\dots$,$A_{k-1}B_{k-1}$,$A_k,B_k$ 然后取点 $C$。 同理,对于 $2^k$ 个 $k$ 维图形只有 $1$ 个包含圆心,即概率为 $\dfrac{1}{2^k}$。 *** 所以输出 $2^n$ 即可。 ```cpp #include<iostream> using namespace std; int main() { long long awa; //结果爆不掉 ll 的awa cin>>awa; cout<<(1ll<<awa)<<".00"; //记得用 1ll 并且保留两位小数 //用左移简便写 2^k,数据范围在大点再加个模数就可以用快速幂 return 0; } ```