1 solutions
-
0
难度: 绿
算法: 数学,Catalan 数,高精度
发现斜线上有 个点,而一个矩形最多包含其中的一个,要放 个矩形,于是每个矩形都包含一个这样的顶点。
然后左下角的点也要被包括。于是包括左下角点的矩形就把整个图形分为了两部分。发现这两部分就相当于 更小的时候的情况。考虑 。记 为放置 个矩形时的答案。那么有:
这不就是卡特兰数吗?
利用卡特兰数通项公式可以得到:
代码:(懒得写高精度了)
n=int(input()); a=1; for i in range(2*n): a=a*(i+1); for i in range(n+1): a=a//(i+1); for i in range(n): a=a//(i+1); print(a);
- 1
Information
- ID
- 242
- Time
- 1000ms
- Memory
- 512MiB
- Difficulty
- 10
- Tags
- # Submissions
- 4
- Accepted
- 2
- Uploaded By