nssl1447 小智的糖果 dp

2021-09-29 15:18:21 字數 1053 閱讀 7213

長度為n

nn的序列,m

mm個位置要求兩邊都比他大,k

kk個位置要求兩邊都比他小。求序列個數。

若第x

xx個位置為山峰,那麼ax−

1

>ax

+1

a_a_

ax−1

​​>ax

+1​,我們用upi

up_i

upi​

表示第i

ii個位置與前面數的大小關係。

然後用fi,

jf_

fi,j

​表示前i

ii個數是1∼i

1\sim i

1∼i,最後乙個為j

jj時的方案數,然後根據upi

up_i

upi​

轉移即可。

#include

#include

#define ll long long

using

namespace std;

const ll xjq=

1e9+

7,n=

5100

;ll n,m,k,up[n]

,f[n]

[n],ans,sum[n]

;bool flag;

intmain()

up[x]=2

;up[x+1]

=1;}

for(ll i=

1;i<=k;i++

) up[x]=1

;up[x+1]

=2;}

if(flag)

f[1][

1]=1

;for

(ll i=

2;i<=n;i++

)for

(ll i=

1;i<=n;i++

)(ans+

=f[n&1]

[i])

%=xjq;

printf

("%lld"

,ans)

;}

小糖出品 方法的定義與實現

什麼是方法呢?下面是小糖從某書上看到的關於方法的解釋 方法是類或物件的行為特徵的抽象,也是類或物件最重要的組成部分。啥意思呢?小糖按自己的想法解釋一下,我們舉個例子,比如說現在有乙隻貓,那麼我們可以把這只貓看成乙個物件,貓它會幹嘛呢?它會跑吧,也會跳吧,跑和跳其實就可以說是貓這個物件的方法,由貓這個...

小糖出品 對方法的補充(1)

上篇部落格,小糖說到了方法的定義和實現。這篇部落格小糖對上篇的內容進行一些補充。上篇部落格說到了定義方法時,傳入的引數個數,上篇說到了傳入乙個引數和兩個引數時的宣告格式,現在小糖來說說另一種情況,傳入多個引數的情況。假設你有這種需求,在寫乙個方法的時候需要向方法中傳入許多引數,而且是至少乙個以上的任...

愛智小技巧 讓你的愛智網路更加穩定

如果你的愛智wifi訊號無法覆蓋到所有的應用環境 家住大別墅 或者嫌棄愛智本身的 wifi 訊號差,怎麼辦呢?本文就來將乙個小技巧來讓你的 spirit 1進行擴充套件,可能很多小夥伴都知道怎麼操作,但是還是有些小夥伴可能不太了解,希望這篇文章可以幫到一些被愛智 wifi 訊號困擾的人。給需要當交換...