タイトル
思考
どのくらいの各テイクは、最終的には固定値に到達する必要があり、上記の生成機能を考えることが容易です
色については
この色は奇数を選択した場合
\(F(X)= \ sum_ {i = 0} ^ {\ inftyのX} ^ {2 * I + 1} \)
それが偶数である場合
\(G(x)= \ sum_ {i = 0} ^ {\ inftyのX} ^ {2I} \)
しかし、問題は、あなたが自分をロールアップならばということです
オーダーの問題があるため
答えは、項目の係数ではありません。
私たちは、実際にする必要がありますロールアップする必要があります
それが奇数である場合
\(F(x)は= \ sum_ {I = 0} ^ {\ inftyの} \ FRAC {X ^ {2I + 1}}、{(2I + 1)!} \)
それが偶数である場合
\(G(x)は= \ sum_ {I = 0} ^ {\ inftyの} \ FRAC {X ^ {2I}} {(2I)!} \)
ロールアップした後\(^ X N \)係数は答えがあります
その後、我々はどのように考える\(F \)と\(G \)閉じた形に変換しました
私たちはまず、最も単純な形を検討します
\(A(X)= \ sum_ {i = 0} ^ {\ inftyの} \ FRAC {X ^ I} {I!} \)
ことではありません(X-E ^ \)\?
理由を説明
私たちは、セット(B(X)= E \ ^ X \)
\(B \)テイラー展開
\(B(x)は= \ sum_ {I = 0} ^ {\ inftyの}(\ FRAC {B ^ { '(I个)}(X_0)} {I]} *(X-X_0)^ I)\ )
私たちは取る(X_0 = 0 \)\
\(B(x)は= \ sum_ {I = 0} ^ {\ inftyの}(\ FRAC {B ^ { '(I个)}(0)} {I]} *(X-X_0)^ i)は\ )
電子の性質上
\(B '= B \)
そう
\(B(X)= \ sum_ {i = 0} ^ {\ inftyの} \ FRAC {X ^ I} {I]} = A(X)\)
私たちは、この事を持って、私たちが構築する方法を考えてみましょう
奇数は、実際には、何も存在しない場合、\は(X 2I ^ {} \) 、
ある\(F(X)= \ FRAC {E ^ XE ^ { - X}} {2} \)
ため(G(x)\)\同じように構成されています
\(G(x)= \ FRAC {E ^ X + E ^ { - X}} {2} \)
所望である(F ^ M(X)\ * G ^ {CM}(X)\) \(X ^ N \)係数
二項定理の使用を検討し、積極的に展開します
\(\開始{整列} F ^ M(X)* G ^ {CM}(X)&=(\ FRAC {E ^ XE ^ { - X}} {2})^ M *(\ FRAC {E ^ X + E ^ { - X}} {2})^ {CM} \\&= \ FRAC {\ sum_ {k = 0} ^ {M}( - 1)^ {K} C_ {M} ^ {K } E ^ {(MK)X} E ^ { - KX}} {2 ^ M} * \ FRAC {\ sum_ {k = 0} ^ {CM} C_ {CM} ^ {K} E ^ {(CMK) X} E ^ { - KX}} {2 ^ {CM}} \端{整列} \)
分母は直接素早く計算力、我々その後、分子をさらに簡素化するために使用することができます
それはあります
\(\ sum_ {i = 0} ^ {M} \ sum_ {J = 0} ^ {CM}( - 1)^ iC_m ^ IC_ {CM} ^ JE ^ {(C-2I、2J)X} \)
私たちは、その後、電子の生成機能の形で書かれました
\(\ sum_ {i = 0} ^ {M} \ sum_ {J = 0} ^ {CM}( - 1)^ iC_m ^ IC_ {CM} ^ J \ sum_ {k = 0} ^ {\ inftyの} \ FRAC {(C-2I、2J)^ K}、{K!} \)
私たちのために有用な形で電子ので、単に機能用語係数nを生成します
そう
\(\ sum_ {N = 0} ^ {\ inftyの} \ FRAC {\ sum_ {i = 0} ^ {M} \ sum_ {J = 0} ^ {CM}( - 1)^ iC_m ^ IC_ {CM} ^ {J}(C-2I、2J)^ n}は{N!} X ^ N \)
そのための\(N-!\)自体は、その発生したマスター・電子機能の形式に変換される(\!N-)\無視できます
しかし、我々は確率で、最終的に割るために頼む\(^ N- C \) 、
あなたが選ぶ必要がありますので、しかし、我々は時間そのものの生成機能を定義するもので、奇数番号を選択し、それらのキャンディーを考慮しませんでした\(^ C_Cメートルを\)
したがって、最終的な答えは(\ FRAC {C_C ^ M \ ^ iC_m ^ 1) - } {2 ^ C-C ^ N} \ sum_ {i = 0} ^ {M} \ sum_ {J = 0} ^ {CM}( IC_ {CM} ^ J(C -2i-2J)^ N \)
この式の分析は、我々は得ることができます(\メートル\ルC)\
そのため、全体的な時間の複雑さがある(O(C ^ 2 * \ \)LOGN)
コード
#include<iostream>
#include<cstdio>
using namespace std;
double ans;
long long c,m,n;
double qkpow(long long a,long long b)
{
if(b==0)
return 1;
if(b==1)
return a;
double t=qkpow(a,b/2);
t=t*t;
if(b%2==1)
t=t*a;
return t;
}
double C(long long n,long long m)
{
double ret=1;
for(int i=n;i>=n-m+1;i--)
{
ret=ret*i/(n-i+1);
}
return ret;
}
int main()
{
while(cin>>c)
{
if(!c)
break;
ans=0;
cin>>n>>m;
if(m>c||m>n||(n-m)%2==1)
{
printf("0.000\n");
continue;
}
for(int i=0;i<=m;i++)
{
for(int j=0;j<=c-m;j++)
{
ans+=qkpow(-1,i)*C(m,i)*C(c-m,j)*qkpow(c-2*i-2*j,n);
}
}
ans=ans*C(c,m)/qkpow(2,c)/qkpow(c,n);
printf("%.3lf\n",ans);
}
return 0;
}