PA2014部分題解

2021-09-12 17:34:28 字數 3092 閱讀 1530

之前有一些寫過了大概扔在奇奇妙妙的地方…

可能翻一下blog能翻得到的

瞎寫一下最近的題吧

2

242^

224這個狀壓和爆搜尷尬的地位…90

s90s

90s果斷狀壓了

把包從大到小排序,記乙個pai

rpair

pair

的d p[

mask

]dp[mask]

dp[mas

k]表示裝完狀態裡的這些東西需要用到哪個包,並且最後乙個包剩下多少容積,這顯然是從大往小裝並且能裝的越多越好嘛…

轉移列舉0

00位,可以low

bi

tlowbit

lowbit

優化聽說複雜度是靠譜的2n−

1n

2^n2n

−1n?

隨意想一下,我們可以首先把這些矩形拉到互不相交的位置

即保證每個矩形上下都是沒有矩形的

那麼,假如兩個矩形先後順序最後需要調換的話,顯然這個厚度需要能讓他們調換

即滿足任意兩個需要交換的矩形都能交換,那麼這是合法的

線段樹隨意維護一下?

樹狀陣列也可以的

這個題妙

首先有乙個nlo

g2

nnlog^2n

nlog2n

的做法,即直接分治然後討論轉移

這個d

dd的性質,如果我們令g[i

]g[i]

g[i]

表示只考慮d

dd的限制,i

ii最遠能從**開始轉移

顯然g [i

]g[i]

g[i]

單調不減,可以用乙個單調佇列預處理出來

那麼我們考慮怎麼滿足c

cc的限制

約定m id

midmi

d表示[l+

1,r]

[l+1,r]

[l+1,r

]區間的最大值的位置,則sol

ve(l

,r

)solve(l,r)

solve(

l,r)

表示處理[l,

mid−

1]

[l,mid-1]

[l,mid

−1]對[mi

d,r]

[mid,r]

[mid,r

]的轉移

顯然我們這一段區間需要滿足c

cc的限制均為c[m

id

]c[mid]

c[mid]

那麼思考如何轉移

對於g [i

]>=m

id

g[i]>=mid

g[i]

>=m

id,直接結束轉移

對於g [i

]>=l

g[i]>=l

g[i]

>=l[i

]<

lg[i]g[i]−

(mid

−1

)

mid]

i-(mid-1)i−

(mid

−1)mid]

,i

ii每向後移動一位只會多乙個可以轉移的位置,用乙個變數o(1

)o(1)

o(1)

維護轉移即可

對於g [i

]<

lg[i]g[i]−

(mid

−1

)>=c

[mid

]i-(mid-1)>=c[mid]

i−(mid

−1)>=c

[mid

] lo

g2

nnlog^2n

nlog2n

的複雜度,但是對於每個點,滿足l

<=g

[i

]

dl<=g[i]

l<=g

[i]d的區間僅會有乙個,所以複雜度是nlo

gn

nlogn

nlog

n對於第三個操作,在每個區間中指標最多隻會移動min

(x,l

en−x

)min(x,len-x)

min(x,

len−

x),那麼這個是啟發式合併的複雜度,也是nlo

gn

nlogn

nlogn的

對於第四個操作,顯然是nlo

gn

nlogn

nlog

n所以就變成優越無比的nlo

gn

nlogn

nlog

n了??

感覺考場上遇到這個複雜度分析的題就算想到了也會認為是nlo

g2

nnlog^2n

nlog2n

的然後自閉?

好題首先一看就是個最大權閉合子圖的裸模型

然後*****的以為是奇妙技巧建邊跑假的複雜度的網路流?

然後就想不出來奇妙技巧了…

然後…發現這個東西我是根本不會想的啊…從來都是最小割=最大流,從來沒有轉化回去更改題意來做…

首先,我們可以把每個點的座標變為(xi

∗h,y

i∗w)

(x_i*h,y_i*w)

(xi​∗h

,yi​

∗w),因為視野可以看成乙個(−w

,−h)

(-w,-h)

(−w,−h

)的向量,相互乘一下就變成(−1

,−1)

(-1,-1)

(−1,−1

)的向量,那麼視野就變為了直角

然後再旋轉一下座標系,使得視野變為在第二象限

按x

xx從小到大掃,現在我們變換了問題

從每個保安流流量到物品那裡,求最大流多少

那麼每個保安,肯定先流y

yy最小的,流完之後再流y

yy次小的

以此類推

過程用乙個set維護

要記住這種 把最小割換為最大流,然後轉化為貪心問題的套路啊

PA2014 Bohater 題解(貪心)

前言 一道經典貪心題。題目鏈結 題目大意 你有 z 滴血,要打 n 只怪。打第 i 只怪扣 d i 滴血,回 a i 滴血。問是否存在一種能夠通關的打怪順序。顯然所有怪分為兩種 扣血的怪 d i a i 和回血的怪 d i leq a i 那麼貪心策略是什麼?對於回血的怪,我們有若干貪心策略,例如 ...

練習2部分題解

問題 g 汽水瓶 時間限制 1 sec 記憶體限制 128 mb提交 93 解決 45 201501010119 提交狀態討論版 題目描述 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉...

cqoi2015部分題解

只做了前三題。t1 選數 先把題目轉化為求選n個數最大公約數為1,不用說了。假定f i 為選出n個數最大公約數為i的方案數。由於題目中有條件h l 10 5,所以i 10 5即可。令l l 1 i,r h i f i r l n sigma f a i r l 最後的r l為減去全部選擇乙個數的方案...