0%

The chips
現在有許多個晶片排成一列,其中兩兩希望連成一對(但一對晶片不一定相鄰),如下圖所示。
然而一個小小(其實不小)的問題是,由於空間關係,晶片間的連線最多只能列上方一條,列下方一條
也就是同一個鉛直位置最多只有兩條連線經過。
試問給定一列晶片的配對條件,在符合上述連線方式的情況下,最多可以連接幾對晶片?

閱讀全文 »

地平線上有許多房子,而這些房子在夕陽的照射之下形成有趣的輪廓,我們稱之為天際線(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)。
Houses
一個天際線也可以用類似的「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,這樣只算是一次運送。

閱讀全文 »

給一棵笛卡兒樹的中序遍歷,輸出其前序遍歷。

笛卡兒樹: 一棵滿足任意節點權重皆小於其所有子節點的樹。

閱讀全文 »

將毯子分成九個格子,中間那格塗黑,再往其他八格遞迴。
給定$N$,輸出邊長為$3^n$經過上述操作所得出的成品。

閱讀全文 »

$T$筆測資,

每筆測資給一$N$項數列及一數字$K$,求長度介於$[1,K]$的相異遞增子序列數量$\mod 2^{61}-1$。

閱讀全文 »

$T$筆測資,

每筆測資給一$N$項數列,每次操作可以刪除兩項$a_i,a_j(i\ne j)$,並獲得$2(a_i+a_j-|a_i-a_j|)$價值,求最大可獲得價值。

閱讀全文 »

維護一個集合,支援三種操作:

  1. 插入元素$x$
  2. 移除元素$x$
  3. 詢問集合第$k$大
閱讀全文 »

給一$N\times M$的矩陣,求面積最大的子矩陣滿足該矩陣內所有數字加起來$\leq R$

閱讀全文 »

給一$n\times m$矩陣,求最大的子矩陣面積滿足子矩陣內全部都是1

閱讀全文 »