P2606 ZJOI2010 排列計數 分析

2022-10-11 07:48:06 字數 650 閱讀 5717

題意可以簡化為用 $[1,n]$ 的數,組成乙個完全二叉樹,使其滿足小根堆性質,求方案數。

令 $f_i$ 表示在 $i$ 點的方案數,$s_i$ 表示 $i$ 的子節點個數(包括 $i$),於是得出遞推式:

$$f_i=c^_} \times f_ \times f_

$$由於 bzoj 上 $n>m$(可能),所以需要用 lucas 定理。

namespace lzx

base=base*base%mod;

power>>=1;

}return res;

}int math_c(int n,int m,int p)

int math_lucas(int n,int m,int p)

if(m>n)

return math_c(n%p,m%p,p)*math_lucas(n/p,m/p,p)%p;

}int _main()

fill(s+1,s+n+1,1);

for(int i=n;i>=2;i--)

fill(f+n+1,f+n*2+2,1);

for(int i=n;i;i--)

printf("%lld\n",f[1]);

return 0;

}}

題解 P2606 ZJOI2010 排列計數

題目鏈結 題目大意 求 1 n 的排列 p 中,有多少個排列滿足 forall i in 2,n p i p rfloor 對給定質數 m 取模。分析 p i p rfloor 反過來 forall x,p x,那麼問題變成一棵 n 個節點的完全二叉樹,將數 1 n 分配給每乙個節點,使得每個父節點...

洛谷 2606 ZJOI2010 排列計數

題目描述 稱乙個1,2 n 1,2,n 1,2,n的排列p1,p2.pn p 1,p 2.p n p1 p2 pn 是magic的,當且僅當2 i n 2 i n 2 i n 時,p i pi 2 p i p pi pi 2 計算1,2 n1,2,n 1,2,n的排列中有多少是magic的,答案可能...

ZJOI2010 排列計數

不是很懂為什麼洛谷上這題標籤有數字dp,於是我被騙來做這道題。不過上一道題也是一樣,其實也是組合數學。題意其實是求1.n1.n 1.n 的排列中有多少個可以構成小根堆。f i f i f i 表示以i ii為根的樹的方案數,l,r l,rl,r是左,右子樹結點個數,那麼有 f i f l f r c...