唱 跳 rap和籃球

2022-05-25 13:30:14 字數 2186 閱讀 9516

大中鋒的學院要組織學生參觀博物館,要求學生們在博物館中排成一隊進行參觀。他的同學可以分為四類:一部分最喜歡唱、一部分最喜歡跳、一部分最喜歡rap,還有一部分最喜歡籃球。如果佇列中\(k,k + 1,k+1,k + 2,k+2,k + 3,k+3\)位置上的同學依次,最喜歡唱、最喜歡跳、最喜歡rap、最喜歡籃球,那麼他們就會聚在一起討論蔡徐坤。大中鋒不希望這種事情發生,因為這會使得隊伍顯得很亂。大中鋒想知道有多少種排隊的方法,不會有學生聚在一起討論蔡徐坤。兩個學生隊伍被認為是不同的,當且僅當兩個隊伍中至少有乙個位置上的學生的喜好不同。由於合法的隊伍可能會有很多種,種類數對998244353取模。

輸入資料只有一行。每行55個整數,第乙個整數n,代表大中鋒的學院要組織多少人去參觀博物館。接下來四個整數a、b、c、d,分別代表學生中最喜歡唱的人數、最喜歡跳的人數、最喜歡rap的人數和最喜歡籃球的人數。保證\(a+b+c+d \ge n\)。

每組資料輸出乙個整數,代表你可以安排出多少種不同的學生隊伍,使得隊伍中沒有學生聚在一起討論蔡徐坤。結果對998244353取模。

4 4 3 2 1

996 208 221 132 442

思路:

\(令f_x=(n-4x)!\sum\limits_^a\sum\limits_^b\sum\limits_^c\sum\limits_^d[a+b+c+d=n-4x]\frac\)

\(ans=\sum\limits_^\rfloor\}}(-1)^i(^_)f_i\)

證明:後面把討論蔡徐坤的段叫\(jntm\)

\(考慮列舉jntm的數量,進行容斥\)

\(假設f_i為在去掉jntm後的方案數\)

\(\because 每個jntm長度4\)

\(\therefore 有c_^i的方案數\)

\(\therefore ans=\sum\limits_^\rfloor\}}(-1)^i(^_)f_i\)

\(考慮列舉剩下的位置中有多少個j,n,t,m\)

\(f_x=\sum\limits_^a\sum\limits_^b\sum\limits_^c\sum\limits_^d[a+b+c+d=n-4x]\frac=(n-4x)!\sum\limits_^a\sum\limits_^b\sum\limits_^c\sum\limits_^d[a+b+c+d=n-4x]\frac\)

\(發現可以ntt優化卷積,時間複雜度o(n^2log_2n)\)

\(\mathfrak\)

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

# define read read1()

# define type templatetype inline t read1()

void push(int n)

array(int* l=null,int* r=null)

inline int size()

inline int& operator (const int x)

void resize(int n)

void clear()

void swap()

int& top()

void pop()

array& operator %= (const int k)

return t;

}array operator *(array a,int n)

int* ntt(const int len,array& a,const bool ty,int* r=null)}}

return r;

}array operator * (array x,array y)

array& operator *= (array& x,array y)

void rev(array &x,array y)

array inv(array a)

array operator / (array x,array y)

array diff(array x)

int fac[1001],n(read),a(read),b(read),c(read),d(read),inv[1001];

array x,y,z,w;

int c(int n,int m)

int sigma(int l)

int main()

TJOI2019 唱 跳 rap和籃球

tjoi2019 唱 跳 rap和籃球 律師函警告 考慮容斥,減去至少乙個cxk的 列舉有i個cxk,方案數 c n 3 i,i 因為不相交,所以直接扣掉剩下3個,選擇第乙個開始的位置,一一對應 剩下的?隨便,統計多了?二項式反演!需要計算 a i,b i,c i,d i,n 4 i 表示用a i,...

內部轉跳和外部轉跳的區別

內部轉跳和外部轉跳的區別 主要有三個不同點,主要是 內部跳轉實現的方法 request.getrequestdispatcher jsp或者servlet forward request,response 外部跳轉實現的方法 response.sendredirect jsp或者servlet 30...

最強的籃球隊和馬爾可夫模型

打籃球經常遇到這種情況,11個人,分4 4 3共三套,一群人少時間玩,在乙個失敗的團隊的人下陣來填補空缺。因此,我認為,會不會出現乙個最強組合,使得這4個人一直贏比賽呢?當然,這忽略了體力不支等現實因素。於是。在場下我就小小的brainstorm了一下。給了這個問題的一些如果與簡化 假如有n n 5...