Perm 排列計數

2022-03-26 19:56:19 字數 1033 閱讀 5784

題目描述

稱乙個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 #include5

#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

view code

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的...