題目描述
稱乙個1,2,...,n的排列p1,p2...,pn是magic的,當且僅當2<=i<=n時,pi>pi/2. 計算1,2,...n的排列中有多少是magic的,答案可能很大,只能輸出模p以後的值
輸入格式
輸入檔案的第一行包含兩個整數 n和p,含義如上所述。
輸出格式
輸出檔案中僅包含乙個整數,表示計算1,2的排列中, magic排列的個數模 p的值。
樣例樣例輸入
20 23
樣例輸出
16
資料範圍與提示
100%的資料中,1 ≤n ≤ 10^6, p ≤ 10^9,p是乙個質數。 資料有所加強
' / '是向下取整,然後可以yy出乙個小根堆,題意轉化為求乙個大小為n的二叉小根堆形態數。
f[i]=f[i<<1]*f[i<<1|1]*c(siz[i]-1,siz[i<<1])
n很大表不可打,p是質數用lucas()定理
1 #include2 #include3 #include4 #include5view code#define maxn 1000005
6#define ll long long
7#define reg register
8#define f(i,a,b) for(i=a;i<=b;++i)
9using
namespace
std;
10ll e[maxn],f[maxn];
11int
p,siz[maxn],n;
12 ll qpow(ll x,int
b)13
21return
ans;22}
23 ll c(int n,int
m)24
28 ll lucas(int n,int
m)29
33int dfs(int
k)34
41int
main()
42
Perm排列計數
記憶體限制 512 mib 時間限制 1000 ms 標準輸入輸出 題目描述 稱乙個1,2,n的排列p1,p2.pn是magic的,當且僅當2 i n時,pi pi 2.計算1,2,n的排列中有多少是magic的,答案可能很大,只能輸出模p以後的值 輸入格式 輸入檔案的第一行包含兩個整數 n和p,含...
Perm 排列計數
題目描述 稱乙個1,2,n的排列p1,p2.pn是magic的,當且僅當2 i n時,pi pi 2.計算1,2,n的排列中有多少是magic的,答案可能很大,只能輸出模p以後的值 輸入格式 輸入檔案的第一行包含兩個整數 n和p,含義如上所述。輸出格式 輸出檔案中僅包含乙個整數,表示計算1,2,的排...
Perm排列計數(bzoj2111)
time limit 10 sec memory limit 259 mb submit 2686 solved 811 submit status discuss 稱乙個1,2,n的排列p1,p2 pn是magic的,當且僅當2 i n時,pi pi 2.計算1,2,n的排列中有多少是magic的...