P4165 SCOI2007 組隊 推柿子 差分

2021-10-25 07:45:28 字數 1219 閱讀 7112

題意

a ×h

−a×m

inh+

b×s−

b×mi

ns≤c

a\times h-a\times min_h+b\times s-b\times min_s \le c

a×h−a×

minh

​+b×

s−b×

mins

​≤c

我們發現有三個變數,所以最暴力的複雜度是o(n

3)

o(n^3)

o(n3

)的,那麼我們考慮怎麼優化

好吧,我不看題解也不是很會優化

我們將式子轉化一下,然後會發現對於每乙個人,min

hmin_h

minh

​固定時,能取到的合法min

smin_s

mins

​是連續的

a ×(

h−mi

nh)−

cb+s

≤min

v≤

s\large \frac+s\le min_v \le s

ba×(h−

minh

​)−c

​+s≤

minv

​≤s前面乙個限制是由式子轉化得到的,後面的限制是題目要求,min

s≤∀s

min_s\le \forall s

mins​≤

∀s對於區間加的操作直接差分一下

#include

using

namespace std;

namespace zzc

sort

(d+1

,d+n+1)

; cnt=

unique

(d+1

,d+n+1)

-d-1

;for

(int i=

1,l;i<=cnt;i++)}

for(

int j=

1;j<=

10000

;j++

) num[j]

+=num[j-1]

;for

(int j=

1;j<=n;j++

) ans=

max(ans,num[s[j]])

;}cout

題解 P2472 SCOI2007 蜥蜴

題目背景 07四川省選 題目描述 在乙個r行c列的網格地圖中有一些高度不同的石柱,一些石柱上站著一些蜥蜴,你的任務是讓盡量多的蜥蜴逃到邊界外。每行每列中相鄰石柱的距離為1,蜥蜴的跳躍距離是d,即蜥蜴可以跳到平面距離不超過d的任何乙個石柱上。石柱都不穩定,每次當蜥蜴跳躍時,所離開的石柱高度減1 如果仍...

P2472 SCOI2007 蜥蜴 網路流

n m n mn m個格仔,每個格仔的石柱高度不同,蜥蜴可以跳到距離不超過d dd的石柱處,並且先前所站的石柱高度減一,為0則不能站,然後求有多少只蜥蜴不可以逃脫。考慮網路流,每只蜥蜴表示乙個流,將每個石柱分成入點和出點,然 點連出點流量為石柱高度,然後每個可以走的點之間出點連入點無限,之後有蜥蜴的...

P2472 SCOI2007 蜥蜴(最大流)

自己第一道獨立做題且一遍ac的網路流題紀念.看到這道題我就想到網路流建圖的方式了.首先根據每個高度,我們將每個點拆成兩個點限流.之後根據跳的最大距離,連邊,最後能跳出邊界的與t連邊,跑最大流即可.突然發現最大流與網格圖好像有著某種聯絡.include define ll long long usin...