G - Pyramid 題解(打表)
阿新 • • 發佈:2020-11-21
題目連結
題目大意
t組資料,給你一個n(n<=1e9)求高度為n的等邊三角形,求裡面包含了多少個等邊三角形
題目思路
打表找規律,然而我一直沒找到規律。
看到題解恍然大悟,答案就是C(n+3,4).因為是求三角形的數目,要聯絡到楊輝三角組合數之類的,才能想到答案
程式碼
#include<set> #include<map> #include<queue> #include<stack> #include<cmath> #include<cstdio> #include<vector> #include<string> #include<cstring> #include<iostream> #include<algorithm> #include<unordered_map> #define fi first #define se second #define debug printf(" I am here\n"); using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> pii; const ll INF=0x3f3f3f3f3f3f3f3f; const int maxn=1e3+5,inf=0x3f3f3f3f,mod=1e9+7; const double eps=1e-10; ll n; ll qpow(ll a,ll b){ ll ans=1,base=a; while(b){ if(b&1){ ans=ans*base%mod; } base=base*base%mod; b=b>>1; } return ans; } int main(){ int _;scanf("%d",&_); while(_--){ scanf("%lld",&n); n+=3;//C(n+3,4); printf("%lld\n",n*(n-1)%mod*(n-2)%mod*(n-3)%mod*qpow(24,mod-2)%mod); } return 0; }