小a的學期 求C(n,m) p

2021-09-30 19:53:33 字數 1712 閱讀 4693

小a的學期

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 524288k,其他語言1048576k

64bit io format: %lld

小a是乙個健忘的人,由於他經常忘記做作業,因此老師對他很惱火。

小a馬上就要開學了,他學期一共2n2n天,對於第ii天,他有可能寫了作業,也可能沒寫作業,不過他自己心裡還有點b數,因此他會寫恰好nn天的作業

現在,小a需要安排他的學期計畫,如果小a的學期中存在一天xx,在這之前的xx天中,他沒寫作業的天數 - 寫作業的天數⩾k⩾k,那麼老師就會把它開除,我們稱這是一種不合法的方案

小a想知道他有多少種合法的方案

第一行三個整數n,k,pn,k,p,pp表示對pp取模
乙個整數表示答案
示例1

2 1 100007
2
總共有2n=42n=4天

合法的方案有

寫了 沒寫 寫了 沒寫

寫了 寫了 沒寫 沒寫

注意:沒寫 寫了 沒寫 寫了 是一種不合法的方案,因為在第一天時沒寫的天數-寫了的天數⩾1⩾1

示例2

10 5 10000007
169252
1⩽n,k⩽106,p⩽109+71⩽n,k⩽106,p⩽109+7

不保證pp為質數!

//求(c(n*2,n)-c(n*2,n+k))%p;

模板題,但是模板選錯了,一直wa!!!

使用素數去重,然後計算結果

#include#include#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;

#define pi acos(-1.0)

#define eps 1e-8

#define mod 1e9+7

#define ll long long

#define ull unsigned long long //1844674407370955161

#define int_inf 0x7f7f7f7f //2139062143

#define ll_inf 0x7f7f7f7f7f7f7f7f //9187201950435737471

const int dr= ;

const int dc= ;

// ios::sync_with_stdio(false);

// 那麼cin, 就不能跟c的 scanf,sscanf, getchar, fgets之類的一起使用了。

const int maxn = 2e6+6;

vectorprim;

bool not_prime[maxn|5];

//用篩法生成素數

void prime()

return ret;

}//計算n的k次方對m取模,二分法

ll pow(ll n, ll k, ll m)

return ret;

}//計算c(n,m)%m

ll c(ll n,ll m,ll m)

return ans%m;

}int main()

輸入日期求星期的程式

week.c version 1.0 2006 9 14 auther jsp w d 2 m 3 m 1 5 y y 4 y 100 y 400 mod 7 在公式中d表示日期中的日數,m表示月份數,y表示年數。注意 在公式中有個與其他公式不同的地方 把一月和二月看成是上一年的十三月和十四月,例 ...

小Y的塗鴉 數學期望 dp

題意概述 現在給出乙個n n的方格紙,有m個格仔已經被塗黑了。現在小明也來塗格仔,每次等概率地塗格仔 包括已經被塗過的 問期望的塗格仔次數,使得方格紙每一行每一列都至少有乙個格仔被塗過。資料範圍 1 n 2 103,0 m min n 2,2 103 1 ri ci n 這是給出的塗過的格仔的座標 ...

隨機日期求離本年的天數

隨機日期求離本年的天數 day input 請輸入年月日 格式舉例 2000 01 05 year int day 4 將年份擷取 month int day 5 7 擷取月份 sun int day 8 10 擷取日 print year,month,sun t run 31 29,31 30,3...