#20389: 解題策略


pinglunliao (Holan-Liao)

學校 : 不指定學校
編號 : 2198
來源 : [27.242.163.198]
最後登入時間 :
2024-11-12 21:14:15
b966. 3. 線段覆蓋長度 -- 2016年3月apcs | From: [125.230.137.50] | 發表日期 : 2020-01-14 08:11

方法一:
用一個布林陣列 p 來記錄那些地方有被畫線,以及紀錄所有線段上的最小值 min 與最大值 max,接著用迴圈從 min 到 max 計算有多少地方被畫線。

 

方法二:

使用一個結構陣列 struct Point p 來記錄所有線段,並將此結構陣列由小排到大。接著在判斷目前的線段是否有所覆蓋下一個線段,而這有三種狀況:
1. 完全覆蓋下一線段,此情況直接繼續下一線段的判斷
2. 部分覆蓋,將目前線段的結尾更新為下一線段的結尾
3. 沒有覆蓋下一線段,計算目前連線起來的線段長度,並加總到總長度 cnt 。

 

https://yunlinsong.blogspot.com/

 
ZeroJudge Forum