ARC077 D 組合數公式 水

2021-10-10 10:55:37 字數 1365 閱讀 6886

題目大意:

給你乙個長度為n+1的序列。1到n

1到n1到

n至少會出現一次。對於每個k,k

∈[1,

n]

k,k \in[1,n]

k,k∈[1

,n],問你有多少個本質不同的子串行。

題目思路:

一定有一對重複的。如: ***xayyyyyazzzz.

那麼同時選擇x和z

x和zx和

z區域裡的數,不選y

yy區域,且選擇了中間的乙個a.

會導致重複的計數.要用總的減去這個部分.

假設x區域長度為a,y長度為b.那麼式子就是 ∑i=

0kca

i∗cb

k−

i\sum_^c_^*c_^

∑i=0k​

cai​

∗cbk

−i​當時我推到這裡就卡住了,尋思著不是乙個卷積的形式麼。所以無了。但是其實是有名字的。這個東西叫範德蒙德卷積式∑i=

0kca

i∗cb

k−i=

ca+b

k\sum_^c_^*c_^=c_^

∑i=0k​

cai​

∗cbk

−i​=

ca+b

k​然後這題就沒了。。。

ac**:

#include

using

namespace std;

#define ll long long

#define pii pair

#define pb push_back

#define mp make_pair

const

int maxn =

2e5+5;

const

int mod =

1e9+7;

int a[maxn]

;ll fact[maxn]

, inv[maxn]

;ll ksm (ll a , ll b)

return ans;

}ll c (ll a , ll b)

int last[maxn]

;int

main()

ios::

sync_with_stdio

(false);

int n; cin >> n;

n++;int gap;

for(

int i =

1; i <= n ; i++

)for

(int i =

1; i <= n ; i++

)return0;

}

組合數公式

若表示在 n 個物品中選取 m 個物品,則如存在下述公式 所以可以用遞推算組合數 題目描述 開學了,學校又迎來了好多新生。acmer想為新生準備乙個節目。來報名要表演節目的人很多,多達n個,但是只需要從這n個人中選m個就夠了,一共有多少種選擇方法?輸入 測試例項包括多組測試資料,每組資料佔一行。每組...

組合數問題(組合數公式轉換 字首和)

組合數的定義 給你n個數,從中取出m個數,共有 cn m中取法,cn m n m n m 重要公式 cnm cn 1 m cn 1 m 1 題目大意 資料有t組,給你n,m,k,問你對於所有的i 0,n j 0,min i,m 有多少對ci j可以整除k。t 1e4,n,m 2000 思路 暴力跑的...

日常 錯排公式 組合數

一,錯排公式 dn n e 0.5 只是近似值!4次wa的代價啊!應該寫成這樣 當n個編號元素放在n個編號位置,元素編號與位置編號各不對應的方法數用m n 表示,那麼m n 1 就表示n 1個編號元素放在n 1個編號位置,各不對應的方法數,其它類推.第一步,把第n個元素放在乙個位置,比如位置k,一共...