一本通 1 2 練習 2 擴散

2022-06-01 10:48:07 字數 469 閱讀 7875

題目link

這道題雖說是二分裡的,但是我沒用二分的做法。

首先我的想法是直接找到任意兩點之間的最大距離即可,但是後來寫完交上去發現不對,之後分析了一下發現兩個點成為同乙個連通塊是可以通過另外乙個連通塊更新距離的,因為另乙個連通塊也可以擴散,有點類似$floyd$。

更新完之後可以直接像第乙個思路一樣算了,更新的時間就是最大距離 $+$ $1$ 再 $÷$ $2$,很容易證明。

1 #include 2

#define inf 0x3f3f3f3f

3using

namespace

std;

4int n, x[60], y[60], ans, f[60][60];5

int cal(int ax, int ay, int bx, int by)

6int

main()

7

C 一本通 1 2 練習 2 擴散

一本通題庫 1437 libreoj 10015 計蒜客 t1882 vjudge 乙個點每過乙個單位時間就會向 4 個方向擴散乙個距離,如圖所示 兩個點 a b 連通,記作 e a b e a,b e a,b 當且僅當 a b 的擴散區域有公共部分。連通塊的定義是塊內的任意兩個點 u v 都必定存...

10016 一本通 1 2 練習 3 燈泡

題目描述 原題來自 zoj 3203 相比 wildleopard 的家,他的弟弟 mildleopard 比較窮。他的房子是狹窄的而且在他的房間裡面僅有乙個燈泡。每天晚上,他徘徊在自己狹小的房子裡,思考如何賺更多的錢。有一天,他發現他的影子的長度隨著他在燈泡和牆壁之間走到時發生著變化。乙個突然的想...

一本通 1 1 練習 2 數列分段

題目link 首先對於乙個序列,從 a 1 l 都符合最佳序列,假設對於第 l 1 個數,它放到從 l 1 r 的區間是一種最優的方法,並且它也可以放在從 1 l 1 這裡,那麼根據貪心,它放到 1 l 1 的序列中是合法的,而且也是一種最優方案。因此,這道題只需要貪心 能將當前數往左放就往左放。1...