題意
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...