1. 程式人生 > >2018.7.30考試

2018.7.30考試

貪心 單位 。。 很好 我們 題意 水平 面積 最小

預計得分:64 + 5 + 0

實際得分:64 + 5 + 0

T1

題意:給出兩棵樹,問在兩棵樹中任意刪除一條邊後$1$號節點所在集合的元素相同的方案

可能我的hash水平還只停留在字符串上qwq。真是菜爆了。

很顯然,當兩棵樹中分別選一棵子樹子樹且編號都相同的時候會貢獻一次答案。

這玩意兒很顯然可以用異或和hash來搞。

zbq發明了一種trick:對於siz相同的開一個set,這樣被卡的概率就很小了。

當然!還有另一種更神奇的做法。

我們對第一棵樹重標號,求出dfs序,這樣每一個子樹就對應了一個區間/排列

判斷兩個排列相等 等價於 最大最小值相等 且 大小相同

於是dfs第二棵樹計算就可以了

T2

轉化後的題意:求出每個點刪除後的最小生成樹。。

神仙題,用並查集維護什麽亂七八糟的東西。

以後再補吧。

T3

題意:單位圓上有$n$個點,問選$k4個能組成的多邊形的最大面積

考場上想了個貪心然後fst了qwq。

用$ang_{i}$表示$i$號點的弧度

首先計算面積有個很好用的公式$area_{i, j} = \sum_{i}^{j - 1} sin(ang_i, ang_{i + 1})$

考慮dp,設$f[i][j]$表示以$i$為結尾,已經選了$j$個的最小值。

轉移的時候枚舉前一個選了哪個

$f[i][j] = min(f[k][j - 1] + area(k, j))$

很顯然這玩意兒有單調性

然後用單調棧維護一下,直接在單調棧上二分,這樣復雜度為$n^3 log n$

然後

技術分享圖片

?????

Orz

2018.7.30考試