#45883: 思路,縮左區間跟右區間的差別


ourcanwin@gmail.com (郭禮銓)

School : 高雄市立中正高級中學
ID : 247670
IP address : [111.242.245.70]
Last Login :
2025-06-12 22:31:58
c575. APCS 2017-0304-4基地台 -- 2017年3月APCS | From: [114.140.89.153] | Post Date : 2025-04-24 08:51


由於k已知 枚舉直徑 找到在k個基地台情況下最小的直徑
check用判斷此直徑是否合法

如果不合法(無法覆蓋所有點)
表示當前直徑與更小的直徑也無法覆蓋所有點
所以縮左區間+1

如果合法(可以覆蓋所有點)
表示更大的直徑也可以覆蓋所有點 題目要找>=的最小
所以縮右區間

//如何判斷此直徑為合法
用此直徑來枚舉基地台數量並用k判斷合不合法
在滿足直徑固定的情況下用最貪心的方法使他可能
(從陣列第一個基地台開始,每次+=直徑,第二次就從陣列沒被超過的下一個基地台開始+=直徑)

 
#45884: Re: 思路,縮左區間跟右區間的差別


ourcanwin@gmail.com (郭禮銓)

School : 高雄市立中正高級中學
ID : 247670
IP address : [111.242.245.70]
Last Login :
2025-06-12 22:31:58
c575. APCS 2017-0304-4基地台 -- 2017年3月APCS | From: [114.140.89.153] | Post Date : 2025-04-24 08:55


由於k已知 枚舉直徑 找到在k個基地台情況下最小的直徑
check用判斷此直徑是否合法

如果不合法(無法覆蓋所有點)
表示當前直徑與更小的直徑也無法覆蓋所有點
所以縮左區間+1

如果合法(可以覆蓋所有點)
表示更大的直徑也可以覆蓋所有點 題目要找>=的最小
所以縮右區間

//如何判斷此直徑為合法
用此直徑來枚舉基地台數量並用k判斷合不合法
在滿足直徑固定的情況下用最貪心的方法使他可能
(從陣列第一個基地台開始,每次+=直徑,第二次就從陣列沒被超過的下一個基地台開始+=直徑)

倒數第三句是另外一個解法 
可以忽略(我不小心混在一起)

 
ZeroJudge Forum