問題の意味:Nポイントの所定の数は、すべての参照番号は無根ツリーのリーフノードを有する尋ねる構成するn個のノードの合計を表します。
すべての最初のシーケンスとpurfer、異なるpurfer配列とそれぞれが独自のツリーを構成表しに関する強いヒントを記述するために、「数字はルートレスツリーが持っている」、とこのシーケンスはに表示されませんでした数字の答えシーケンスの寄与に等しく、番号。
そして、私たちは、それぞれが正確に色のプログラムシーケンスのk個を登場見つけるために行くことができる、つまり、私たちは、このプログラムが正確にC(n、k)が* T(n、k)が* K!Tがある番号であることがわかります我々はNTTの畳み込みへの道を見つける必要がありnlogn第二種の第二のカテゴリー番号スターリング、スターリング番号が追求するボードを見つけることができます。
#include <ビット/ STDC ++ Hが> の#define LL長い長い 使用して 名前空間STDを、 CONSTの INT N = 4E5 + 10 。 CONST LL P = 998244353、YG = 3 。 LL N、FAC [N]、[N] INV、[N] F、G [N]、S2 [N]。 LLビン[N]。 LL電力(LLのX、LLのP){ LLのRET = 1 。 用(; P; P >> = 1 ){ 場合(P 1)RET =(RET * X)%のP。 X =(X * X)%のP。 } 戻りRET。 } ボイド NTT(LL *、LLのN、LLのOP){ // NTT:系数数组、长度为N、OP = 1つの求值OP = -1插值 ため(LL i = 0 ; iがn <; I ++の)ビン[I] =(ビン[I >> 1 ] >> 1)|((I&1)*(nは>> 1 )); 用(LL i = 0 ; iがn <; iは++)場合(iは< ビン[i])とスワップ([I]、[ビン[I])。 用(LL i = 1 ; iがn <I << = 1 {) LL WN =パワー(YG、オペアンプ== 1?(P- 1)/(2 * I):( P- 1(P - ) - 1)/(2 * I))、T、W。 用(LL J = 0; J <N; jは+ = I << 1 ){ W = 1 。 用(LLのK = 0 ; K <iは、++ kは){ tは =%のP wは* [Iがj + kは+]、W = W * WN%のP。 [私は =(J + K] -t + P)%のP J + K +]; [J + K] =(J + K] + T)%Pと、 } } } もし(OP == - 1 ){ LLのInv =力(N、P 2 )。 以下のために(LL i = 0 ; iがn <; I ++)は、[I] [I] *のINV%の= Pと、 } } 長い 長い C(長い 長 N、長い 長 M){ 戻り FAC [N] * INV [M]%のP *のINV [nm]の%のPを;} int型のmain() { CIN >> N。 もし(N == 1 ) { のprintf(" 1 \ n " ); リターン 0 ; } であれば(N == 2 ) { のprintf(" 2 \ n " ); リターン 0 ; } FAC [ 0 ] = INV [ 0 ] = 1 。 にとって(int型 i = 1 ; iが<= N; iが++)FAC [i]は= FAC [I- 1 ] * I%P、INV [I] =電力(FAC [i]は、P- 2 )。 以下のために(int型 i = 0 ; iが<= N; iは++)F [i]は=(電源( - 1、I)+ P)%のP *はINV [I]%のP。 用(int型 iは= 0 G [I] =電力(I、N-; iが<= N iが++)2)* [I]%のINV P。 LL N = N- 1 ; LL LEN = 1。一方、(LEN <(N + 1)<< 1)LEN <<は= 1 ; NTT(F、LEN、1); NTT(G、LEN、1 )。 用(int型 I = 0を [I] =%のP([I] * G [i]がF)S2; iが++; iがLEN <) // 求FG的卷积为S2 NTT(S2、LEN、 - 1 )。 長い 長い ANS = 0 ; 以下のために(int型 iは= 1 ; I <= N- 2、I ++ ) { 長い 長 D = FACを[I] * S2 [i]は、 Dの%= P。 // のprintf( "%D%LLD%LLD \ n"は、NI、D、S2 [i])と; ANS + = D * C(N、I)%のP×(NI)%のP。 ANS%= P。 } 年間%= P = P +年間、年=%のP; printf(" %LLDの\ nを" 、年); リターン 0 ; }