組合せuva 11609(組合せ)

1300 ワード

最近の研究グループは、少しまとめて、後で補足します.
この問題は急べき乗と組合せ式を適用する
人を選ぶ案については、
ΣC(n,k)C(k,1)は、kが1からnまでの組合せ数で加算される.
Cに対する式は、C(n,k)C(k,r)=C(n,r)C(n−r,k−r)(k>=r)である
簡略化後C(n,1)C(n−1,k−1)C(n,1)が定数nで提案されると,奥がΣC(n−1,k−1)であり,kが1からnであると,これが組合せ式の選択セットである2^(n−1)である.
だからこの答えはn*(2^(n-1))ですが、nは10^9まで打つので、急にべき乗する必要があります.
毎日同じ理屈
もしあなたたちが青空なら、私は白い雲を引き立てたいです.もしあなたたちが花なら、私は付き添う草を作りたいです.もしあなた达が大木ならば、私は饰る绿の叶をしたいです......私は心から私があなたの生活の中で1つの楽しい音符になることができることを望んで、あなたの毎分のために祝福を持って行きます.
#include <iostream>
#include <cmath>
using namespace std;
long long mi(int n)
{
	long long ans=1,a=2;
	while(n)
	{
		if(n%2) ans=(ans*a)%1000000007;
		n/=2;
		a=(a%1000000007*a%1000000007)%1000000007;
	}
	return ans;
}
int main(int argc, char *argv[])
{
	long long t,n,count,i,tt=0;
	cin>>t;
	while(t--)
	{
		cin>>n;
		count=(n%1000000007)*mi(n-1);
		cout<<"Case #"<<++tt<<": "<<count%1000000007<<endl;
	}
	return 0;
}

      
文章は终わってみんなに次のプログラマーのいくつかのジョークの语录を分かち合います:多くのいわゆる牛人もただこのようにして、あなたを离れて、マイクロソフトはまだマイクロソフトで、GoogleはまだGoogleで、アップルはやはりアップルで、大雪はやはり大雪で、これらの牛人は会社を离れて、自分は何もありません.