洛谷 3月月賽T4 序列 貪心構造 DP

2021-09-11 19:15:29 字數 1312 閱讀 8741

傳送門:luogup5241

一波找規律嘗試出n

4n^4

n4分做法,然而實際上是個貪心構造轉dp:

考慮如何構造出一組合法序列:

首先讓所有邊首尾相連形成鏈,如果scc數量產生變化,就縮鏈上開頭的一部分。

在兼顧scc數量變化的同時,其它邊均貪心地用於串鏈,直到所有點都被串在了鏈上——這時就可以隨便連了。

在沒有將全部點串起來之前,設f[i

][j]

[k

]f[i][j][k]

f[i][j

][k]

表示已經串起了前i

ii個點,scc數量變化了j

jj次,前k

kk個點縮在一起的方案數

在所有點串起來之後,設g[i

][j]

g[i][j]

g[i][j

]表示連了i

ii條邊,前j

jj個點縮在一起的方案數。(注意i≤(

n2)+

(j2)

i\leq +

i≤(2n​

)+(2

j​))

f ,g

f,gf,

g轉移均可以字首和優化,複雜度o(n

3)

o(n^3)

o(n3)

#include

using

namespace std;

const

int n=

405,mod=

1e9+7;

int n,f[n]

[n],g[n*n]

[n],ans[n*n]

;inline

voidad(

int&x,

int y)

inline

voiddc(

int&x,

int y)

intmain()

ad(f[j+1]

[i+1

],v);}

}for

(j=0

;j+1

++j)

for(k=j+

1;k++k)

ad(g[n-

1+j]

[k],f[j]

[k])

;for

(i=n-

1;i<=n*

(n-1);

++i)

}for

(i=1

;i<=n*

(n-1);

++i)

return0;

}

洛谷2019 3月月賽 T2

題幹 洛谷同款 t2?看似比t1簡單些 二維字首和嘛?多簡單 我天天拿二維字首和水dp 這是字首和的預處理 2333 處理出來所有的情況 某個地方要加上mod再 mod 如果沒有這一步 那麼 70pts 然後附帶5 的分值飛走。2333 然後.就a掉了 include using namespace...

洛谷4月月賽R2

打醬油.線性篩約數和就可以 o n 了.include include include include include include using namespace std typedef long long ll const int n 1e6 5 inline ll read while c ...

洛谷11月月賽 T2 不開心的金明

傳送門 一樣大水題,不過我現在都不知道我是怎麼被hack的。題目裡有這麼一句話 要求購物單上所有的物品 的極差 最貴的減去最便宜的 不超過3 資料範圍裡還有這麼一句話 min vi vi min vi 3 那麼,其實只有四種 了。我們稱它們為0,1,2,3 然後預處理每種 選i個的最大價值 直接暴力...