BZOJ 4706: B君的多边形 找规律
生活随笔
收集整理的這篇文章主要介紹了
BZOJ 4706: B君的多边形 找规律
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
4706: B君的多邊形
題目連接:
http://www.lydsy.com/JudgeOnline/problem.php?id=4706
Description
有一個(gè)正n多邊形,我們要連接一些對(duì)角線,把這個(gè)多邊形分成若干個(gè)區(qū)域。要求連接的對(duì)角線不能相交,每個(gè)點(diǎn)
可以連出也可以不連出對(duì)角線。(即最終不要求所有區(qū)域均為三角形)問總方案數(shù)mod (10^9+7)的結(jié)果。
Input
一行一個(gè)整數(shù)n,n≤10^6
Output
一行一個(gè)整數(shù)表示答案。
Sample Input
5
Sample Output
11
Hint
題意
題解:
打表找規(guī)律,然后oeis發(fā)現(xiàn),這個(gè)東西叫做
Schroeder's second problem (generalized parentheses); also called super-Catalan numbers or little Schroeder numbers.代碼
#include<bits/stdc++.h> using namespace std; const int mod = 1e9+7; const int maxn = 1e6+7; long long inv[maxn]; long long f[maxn]; //(n+1) * a(n) = (6*n-3) * a(n-1) - (n-2) * a(n-2) int main() {inv[0]=1,inv[1]=1;f[0]=1,f[1]=1;int x;scanf("%d",&x);for(int i=2;i<=x;i++)inv[i]=(mod-mod/i)*inv[mod%i]%mod;for(int i=2;i<x;i++)f[i]=((6*i-3)*f[i-1]%mod-(i-2)*f[i-2]%mod+mod)%mod*inv[i+1]%mod;cout<<f[x-2]<<endl; }總結(jié)
以上是生活随笔為你收集整理的BZOJ 4706: B君的多边形 找规律的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【温故而知新-Javascript】使用
- 下一篇: 随机信号的傅里叶分析