2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > G. The Galactic Olympics

G. The Galactic Olympics

时间:2019-06-10 20:47:55

相关推荐

G. The Galactic Olympics

/gym/101147/problem/G

总结:第二类斯特林数变形;

n个球放进k个有差别盒子;就是放进k个无差别得*i;

dp[i][j]表示把j个元素分成i个集合;

#include <iostream>#include <cstring>#include <queue>#include <vector>#include <algorithm>#include <cstdio>#include <set>#include <map>#include <stack>//#include <tr1/unordered_map>//#include <unordered_map>#include <cmath>//#include<bits/stdc++.h>using namespace std;#define sfi(i) scanf("%d",&i)#define sfl(i) scanf("%I64d",&i)#define sfs(i) scanf("%s",(i))#define pri(i) printf("%d\n",i)#define prl(i) printf("%I64d\n",i)#define sff(i) scanf("%lf",&i)#define ll long long#define ull unsigned long long#define uint unsigned int#define mem(x,y) memset(x,y,sizeof(x))#define INF 0x3f3f3f3f#define inf 1e18#define eps 1e-10#define PI acos(-1.0)#define lowbit(x) ((x)&(-x))#define fl() printf("flag\n")#define MOD(x) ((x%mod)+mod)%mod#define endl '\n'#define pb push_back#define lson (rt<<1)#define rson (rt<<1|1)#define FAST_IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)template<typename T>inline void read(T &x){x=0;static int p;p=1;static char c;c=getchar();while(!isdigit(c)){if(c=='-')p=-1;c=getchar();}while(isdigit(c)) {x=(x<<1)+(x<<3)+(c-48);c=getchar();}x*=p;}//-----------------------------------------------const int maxn=1e3+9;const int maxm=3e6+9;const int mod=1e9+7;ll dp[maxn][maxn];int main(){FAST_IO;//freopen("input.txt","r",stdin);freopen("galactic.in","r",stdin);for(int i=1;i<=1000;i++){for(int j=1;j<=i;j++){if(j==1) dp[i][1]=1;else if(i==j) dp[i][j]=dp[i-1][j-1]*i%mod;else dp[i][j]=(dp[i-1][j-1]+dp[i-1][j])*j%mod;}}int T;//sfi(T);cin>>T;while(T--){int n,k;cin>>n>>k;if(k>n) cout<<0<<endl;else cout<<dp[n][k]<<endl;}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。