TIOJ-1316
現在有許多個晶片排成一列,其中兩兩希望連成一對(但一對晶片不一定相鄰),如下圖所示。
然而一個小小(其實不小)的問題是,由於空間關係,晶片間的連線最多只能列上方一條,列下方一條
也就是同一個鉛直位置最多只有兩條連線經過。
試問給定一列晶片的配對條件,在符合上述連線方式的情況下,最多可以連接幾對晶片?
現在有許多個晶片排成一列,其中兩兩希望連成一對(但一對晶片不一定相鄰),如下圖所示。
然而一個小小(其實不小)的問題是,由於空間關係,晶片間的連線最多只能列上方一條,列下方一條
也就是同一個鉛直位置最多只有兩條連線經過。
試問給定一列晶片的配對條件,在符合上述連線方式的情況下,最多可以連接幾對晶片?
地平線上有許多房子,而這些房子在夕陽的照射之下形成有趣的輪廓,我們稱之為天際線(Skyline)。
為了方便起見,你可以假設所有的房子都是一個位在2D平面上的矩形,並且有一條邊貼在這個假想2D平面上的X軸。
一棟建築可以用三元數組(Li,Hi,Ri)來表示,依序代表該建築物的左界座標、高度、右界座標。下方左圖中的八棟建築就是用此方法表示就是(1,11,5), (2,6,7), (3,13,9), (12,7,16), (14,3,25), (19,18,22), (23,13,29), (24,4,28)。
一個天際線也可以用類似的「X-遞增序列」表示出來,例如上面的八棟建築合併之後上方右圖的天際線可表示為:
(1, 11, 3, 13, 9, 0, 12, 7, 16, 3, 19, 18, 22, 3, 23, 13, 29, 0)
請你寫一個程式,給你這些房子的位置,請你把它們形成的天際線描述出來。
請注意,最後一個數字一定是0。也請不要輸出多餘空白。
在一個沿海的國家中,所有的村莊都是沿著海岸線分佈的(因此它們連成一條直線)。一條筆直的道路連接起所有沿海的村莊。所有的村莊都可以用一個非負整數表示——代表與道路開端的距離(以公里計)。
大部分的居民從事漁業活動。捕魚季節結束以後,在旅遊季節還沒有開始之前,這些居民所捕的魚可以被運送至不同的城鎮。只要某個城鎮的魚貨儲存量至少有X噸,那麼該城鎮可以提供X位旅客服務。而目標就是盡可能將所有旅客平均的分佈在每個城鎮。換句話說,我們要找出最大的整數Y,使得經過村莊與村莊間的魚貨運送,每一個村莊都至少儲存了Y噸以上的魚。
城鎮與城鎮之間可以運輸整數噸數的魚貨。但是每次在運送時,每載送一公里,就會有山上的搶匪搶走一噸的魚。具體來說,若某個村莊欲運送 F噸的魚到距離D公里遠的另一個村莊,那麼實際到達目的地的魚貨量為 F-D 噸。若F小於D,那麼整批的魚貨將會消失不見。
當然,你可以任意的在某些村莊將這些魚貨重新包裝、組合,然後再運送出去。舉個例子來說,你可以在城鎮C,將從城鎮A和城鎮B運來的魚的各一半,整理一下,然後整批運送到城鎮D,這樣只算是一次運送。
$T$筆測資,
每筆測資給一$N$項數列,每次操作可以刪除兩項$a_i,a_j(i\ne j)$,並獲得$2(a_i+a_j-|a_i-a_j|)$價值,求最大可獲得價值。