洛谷 P1311 選擇客棧

2022-05-25 13:18:08 字數 902 閱讀 4235

列舉在那個咖啡店喝咖啡

想要計算咖啡店兩側同色的客棧的對數

列舉i求和(左邊第i種顏色的個數*右邊第i種顏色的個數)

字首和+字尾和f[

i][j

]f[i

][j]

表示到第i家客棧及之前顏色為j的客棧有幾個f[

i][j

]=f[

i−1]

[j]+

(col

or[i

]==j

)f[i

][j]

=f[i

−1][

j]+(

colo

r[i]

==j)

g[i]

[j]g

[i][

j]表示到第i家客棧及之後顏色為j的客棧有幾個g[

i][j

]=g[

i+1]

[j]+

(col

or[i

]==j

)g[i

][j]

=g[i

+1][

j]+(

colo

r[i]

==j)

假設當前客棧咖啡店消費<=p 當前位置為i 顏色為xsi

gma(

f[i−

1][j

]∗g[

i+1]

[j])

+f[i

−1][

x]+g

[i+1

][x]

sigm

a(f[

i−1]

[j]∗

g[i+

1][j

])+f

[i−1

][x]

+g[i

+1][

x]

洛谷 P1311 選擇客棧

原題 首先暴力如果寫的優秀,可以拿到60分,這裡介紹兩種暴力 40 include include include include include using namespace std int color 200010 cost 200010 int main printf d n ans k r...

洛谷P1311 選擇客棧

做法1 樸素模擬。考慮到此題有可模擬性,所以我們可以列舉i,j,分別為第乙個人住i和第二個人住j的情況,然後再列舉k,k即為兩者中間的點,判斷是否有value p的情況就可以了。做法2 有技巧的運用一些與組合數有關的知識。考慮咖啡館的每個地方所代表的方案,發現我們可以從這裡突破。在讀入時把每乙個點如...

洛谷P1311 選擇客棧

麗江河邊有n 家很有特色的客棧,客棧按照其位置順序從 1 到n 編號。每家客棧都按照某一種色調進行裝飾 總共 k 種,用整數 0 k 1 表示 且每家客棧都設有一家咖啡店,每家咖啡店均有各自的最低消費。兩位遊客一起去麗江旅遊,他們喜歡相同的色調,又想嘗試兩個不同的客棧,因此決定分別住在色調相同的兩家...