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