JZOJ 1353 有趣的數列

2022-08-23 06:30:17 字數 1014 閱讀 5676

description

我們稱乙個長度為2n的數列是有趣的,當且僅當該數列滿足以下三個條件:

(1)它是從1到2n共2n個整數的乙個排列;

(2)所有的奇數項滿足a1

input

從檔案中讀入資料,輸入檔案只包含用空格隔開的兩個整數n和p。

output

輸出檔案中僅含乙個整數,表示不同的長度為2n的有趣的數列個數mod p的值。

sample input

3 10

sample output

5

data constraint

hint

【樣例說明】

對應的5個有趣的數列分別為(1,2,3,4,5,6),(1,2,3,5,4,6),(1,3,2,4,5,6),(1,3,2,5,4,6),(1,4,2,5,3,6)。

【資料說明】

50%的資料滿足n≤1000且p<=1,000,000

100%的資料滿足n≤1,000,000且p≤1,000,000,000。

1 #include 2 #include 3 #include 4 #include 5 #include 6

#define ll long long

7using

namespace

std;

8const

int maxn=1e6+5;9

int prime[maxn],vis[2*maxn];

10int cnt=1,id[2*maxn];

11int

n,p;

12int

pri()

1321

for(int j=1;prime[j]*i<=2*n&&j<=cnt;j++)

2226}27

}28inttot[maxn];

29void add(int x,int

k)30 36

}37intmain()

38

Jzoj 1353 有趣的數列

我們稱乙個長度為2n的數列是有趣的,當且僅當該數列滿足以下三個條件 1 它是從1到2n共2n個整數的乙個排列 2 所有的奇數項滿足a1打表求出前10項,可以發現就是求得卡特蘭數,可以把p pp分解質因子,然後把分子分母中的含p pp的質因子提取出來,再求解即可 include define n 20...

有趣的數列

我們稱乙個長度為2n的數列是有趣的,當且僅當該數列滿足以下三個條件 1 它是從1到2n共2n個整數的乙個排列 2 所有的奇數項滿足a1 3 任意相鄰的兩項a2i 1與a2i 1 i n 滿足奇數項小於偶數項,即 a2i 1現在的任務是 對於給定的n,請求出有多少個不同的長度為2n的有趣的數列。因為最...

組合數學 有趣的數列

我們稱乙個長度為 2n 的數列是有趣的,當且僅當該數列滿足以下三個條件 它是從 1 到 2n 共 2n 個整數的乙個排列 所有的奇數項滿足 a 1 n 1a 1a1 n 1 所有的偶數項滿足 a 2 na 2a2 n 任意相鄰的兩項 a2i 1 a a2 i 1 與 a2ia a2i 1 i n 1...