Problem
機器人能轉移只有上下左右四個方向,機器人切換快速移動模式,將自己跨過小於等於 K 個連續的障礙物。也就是說,當障礙物連續出現形成一座厚牆時,機器人就爬不過去。
求最少移動次數。
Sample Input
|
|
Sample Output
|
|
Solution
將每一點多一個狀態 s,表示當前經過連續 s 個障礙物。如果下一個轉移地點不是障礙物,則 s 會歸零。
|
|
機器人能轉移只有上下左右四個方向,機器人切換快速移動模式,將自己跨過小於等於 K 個連續的障礙物。也就是說,當障礙物連續出現形成一座厚牆時,機器人就爬不過去。
求最少移動次數。
|
|
|
|
將每一點多一個狀態 s,表示當前經過連續 s 個障礙物。如果下一個轉移地點不是障礙物,則 s 會歸零。
|
|
俄羅斯套娃遊戲,每一次只能將相鄰的兩個套娃合併。合併時,打開套娃的次數相當於操作成本,請問至少要打開的次數為何,使得最後的數個套娃可以收成連續大小 1 ~ n
。
一開始給定每個套娃內部都沒有別的套娃。
從第二組測資中,可以看出必須整理成 [1 2 3][1 2 3 4]
兩組完整的套娃。要把 [2][4]
合併成 [2 4]
要打開大小為 4 的套娃,並且把大小為 2 的套娃裝進去。同理,[1][3]
合併成 [1 3]
也需要打開一次。最後合併 [2 4][1 3]
成 [1 2 3 4]
其中必須將 4 打開 (看到 2),再把 2 打開,把 3 打開,接著把 1 裝進 2,把 2 裝進 3,最後裝進 4 中。
此時已經花費成本 5 次 (打開次數),而要把 [1][2][3]
合併成 [1 2 3]
需要打開 2、打開 3 才能完成。共計成本 7 次。
|
|
|
|
類似矩陣鏈乘積 DP,但是這一題必須使用兩次 DP。
dp[l, r]
找到序列 [l, r]
之間合併成一個套娃的花費。-O(n^3)
A[l, r]
之間是否是一個 complete set,也就是一個完整的套娃 (連續大小)。-O(n^3)
這裡應該還可以更快,不過步驟 1 應該很慢,所以沒有必要。O(n^2)
|
|
請閱讀 梁文道:媚俗,並寫出:你覺得台灣媒體中最常出現哪些情感字眼?反映了怎樣的情感專制呢?(100字)
文章中描述有關 激動 、 動情 兩字的使用,呈現一種媚俗的表現,
媚俗(德語:Kitsch)是一種被視為次等的視覺藝術形式,對現存藝術風格欠缺品味地作複製,又或是對已獲廣泛認同的藝術作毫無價值的模仿。
媚俗這個概念最初所描述的一類藝術作品,是對19世紀在美學上傳達誇張的傷悲和情緒的藝術手法(例如通俗劇)的一種回應,所以,「媚俗藝術」和「傷感藝術」有密切關係。
那篇文章是在 2010 年寫的,至今也有 4 年多的時間,而現今正在選舉當頭,而在經歷食安風暴的那段日子,新聞中最常出現的一詞為 痛批 ,這一詞是由新聞媒體創造出來的,在其他文本中是沒有任何中文字詞解釋。
其實這一詞等同於 回應 ,但是又增添了情感上的強化,呈現一種委屈、於心不忍的回應,有一種 明明對你這麼好,為什麼你居然這麼對我 。儘管當事者並沒有這樣的情感,但仍然是作為為某些族群發聲的言論,亦或是一種包裝罵人的態度。
越來越少見到苛責、辱罵、… 等,一種單方面說明對方不好之處, 痛批 一詞給予發言人背景、地位,讓人覺得他說話必然有其理由、逼不得已說出這樣的話來。
直接地情緒化辱罵的發言,都將用 痛批 來包裝過於單一情緒化不理智的發言,也就是課程講的內容,我們再也無法直視情緒,任何不理智的情緒都必須被美化成另外一種較為平靜的情感。
有一個凸多邊形的餅乾要沾牛奶,但是杯子的深度有限,最多沾 h 高,而最多拿 k 個邊去沾,請問最多沾到的面積為何?
|
|
|
|
最多只有 20 條邊,因此窮舉 C(20, k)
然後計算沒沾到沾到的最小面積為何。藉此得到最大沾有面積為多少。
沾到的面積計算採用半平面交的方式。如果使用該邊去沾牛奶,則將此邊往內推根據法向量內推 h 距離。
|
|
有一個軍事基地在叢林深處隱藏,基地將會由 n 個塔台包圍保護。並且只能保護其凸包內的所有地區。
敵人可以摧毀一些塔,使得保護區的保護範圍縮小,使得基地給暴露出來。
在萬無一失的條件下,希望將基地建造在敵人需要摧毀最多塔台才能基地所在地。
|
|
|
|
二分需要摧毀的塔台數 K,由於敵人最多摧毀 K 個塔台,就能將基地給找出來,也就是說任意炸掉連續區段的塔台,他們所產生出來的交集是存在的。如果沒有存在交集,則基地可以藏在那裏面,不管敵人怎麼摧毀都找不到基地在哪。
為什麼需要連續呢?分段結果肯定不好,涵蓋的面積也少,同時會被連續 K 的情況給包含,所以不用考慮分段。
N 很大,半平面交的誤差也很大。
|
|
給一個逆時針順序的凸多邊形,找一個內接最大圓。求出最大半徑為何。
|
|
|
|
二分半徑 r,如果內側放置一個圓,則保證每一條邊到圓心距離都大於等於 r。
藉此嘗試將每一條邊往內推,計算半平面交集是否存在,往內推根據法向量內推 r 距離。
求半平面交需要 O(n log n)
,二分又有一個 log k
,所以效率必須是 O(n log n log k)
。
關於是否需要半平面交還有一個擴充,由於這題不求半平面結果,單純詢問有交集與否,可以利用 2D randomized bounded LP,隨機順序放置半平面,維護最下方的最佳解,如果不存在就 O(n)
建立 (不存在的機率 1/i,因此 O(n)/n = O(1)
),可以在 O(n)
完成,這麼一來速度也許還能再更快些。有空再來實作。
|
|
在 N 個城市,每個城市都要每月的基礎花費,而在城市之間有 M 條邊,市長安排在邊兩側的城市其一要負責維護這一條重要邊,而重要邊的維護花費為該邊移除後,導致任兩個城市之間無法相連的對數乘上該路長。
只需要將一條邊交給相鄰的其一城市維護即可,因此會將該城市的月花費上升,求一種分配方案使得城市的最大花費最小。
|
|
|
|
首先,重要邊只有 bridge 需要維護,除了 bridge 外,不會造成任兩個點之間不連通的情況。
因此將所有 bridge 求出,建造出森林 (很多棵 tree),接著二分最大花費,然後用貪心算法驗證答案是否可行。貪心的步驟採用先把葉節點的花費最大化,如果無法將維護成本放置到葉節點,則必然需要將維護成本交給其父節點,然後將所有葉節點移除。持續遞歸檢查。
當然可以選擇對每一個樹二分最大花費,取最大值即可。這麼寫要看當初怎麼設計,否則會挺痛苦的。
|
|
現在要購買股票,每一個股票都有其花費和預期的在未來的出售價格。
但是股票採用組合包的方式進行販售,但是每一種組合包都只能購買一次,請問在資金只有 C 元的情況下,最多能在未來淨利多少。
|
|
|
|
每個東西只能購買一次,可見是一個 01 背包問題,但是由於 C 很大,也就是背包容量過大,導致 DP 上的困難。
但是題目並沒有特別說明測資的特殊性,後來才得知可以用 gcd 最大共同因數去降,就是縮小幣值,相當於換外國幣去思考。這麼一來 C 可以降很多,但在一般的背包問題中,gcd 的效應並不高。
把我的純真還回來啊,不想自己 yy 測資特殊性。
|
|
一個可以行走在靜止水面上的蜘蛛,現在要靠近瀑布,瀑布會於鄰近周圍會產生流速。
蜘蛛最多可以在 P 速度的水面上前進,請問最近可以靠近瀑布多少。現在已知從靜止水面靠近瀑布的部分流速,在未知的部分根據觀察是前面單位距離 1 距離 2 的線性關係。($v_{i} = a v_{i-1} + b v_{i-2}$)
|
|
|
|
其實這題不難,在最後已知得部分解二元一次方程式即可,把未知的流速算出來,統計可以跑多遠即可。
一開始看不懂題目,以為所有流速都是線性關係,求出來的答案怪怪的。從最後已知的四個流速推測剩餘流速。
|
|
平面上有士兵和戰車,分別有 S 個、T 個,接著會有 Q 組詢問,每組詢問有三條線,每組詢問之間的線保證斜率會彼此相同 (只是移動線,這需求非常奇怪。),請問三條線拉出的 7 個區域中,中間與外側三塊地士兵、戰車個數差異為何?
|
|
|
|
先獲得需要劃分的斜率,對三種斜率進行點的排序,因此對得到六個排序結果 (士兵和戰車)。之後就能在排序結果中,二分搜尋該線的左側、右側分別有多少點。
解決這個之後,要來看看噁心的排容原理,這裡還是建議參照 flere 的圖示:
對於拉出的三角形三個交點編號 A, B, C,接著對其做區域編號,
(1) BC 線段的左邊 有區域 1 2 3 6
(2) AC 線段的左邊 有區域 2 6 7
(3) AB 線段的下面 有區域 2 3 4
(1) - (2) - (3) 就可以得到區域 1 - 2 - 7 - 4
就是我們要的答案
在程式邏輯上,挑一點與其一線同側,另兩條線與點異側。
沒有辦法單獨對區域內部搜尋點個數,然後統計完再相減,即使使用 range query,也無法在有效時間內完成任意三角形的範圍搜索 (矩形可以考慮,用等腰直角三角形也好。)。
|
|