之前有一些寫過了大概扔在奇奇妙妙的地方…
可能翻一下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維護 要記住這種 把最小割換為最大流,然後轉化為貪心問題的套路啊 前言 一道經典貪心題。題目鏈結 題目大意 你有 z 滴血,要打 n 只怪。打第 i 只怪扣 d i 滴血,回 a i 滴血。問是否存在一種能夠通關的打怪順序。顯然所有怪分為兩種 扣血的怪 d i a i 和回血的怪 d i leq a i 那麼貪心策略是什麼?對於回血的怪,我們有若干貪心策略,例如 ... 問題 g 汽水瓶 時間限制 1 sec 記憶體限制 128 mb提交 93 解決 45 201501010119 提交狀態討論版 題目描述 有這樣一道智力題 某商店規定 三個空汽水瓶可以換一瓶汽水。小張手上有十個空汽水瓶,她最多可以換多少瓶汽水喝?答案是5瓶,方法如下 先用9個空瓶子換3瓶汽水,喝掉... 只做了前三題。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為減去全部選擇乙個數的方案...PA2014 Bohater 題解(貪心)
練習2部分題解
cqoi2015部分題解