出處:APCS202410
zerojudge網址:https://zerojudge.tw/ShowProblem?problemid=o714
解題策略
終點由小到大排序,如果終點相同,出發點由小到大,依照此順序考慮這些公車的起迄站,終點越前面只會受終點更前面的公車影響
dp[終點]到達終點的可能性路徑個數
pre[終點]到達終點的可能性路徑個數的前綴和
測資
5 9 11
0 4 0 3 5
4 6 6 7 9
考慮公車[0,4],終點4只有一種可能性,dp[4]=1
考慮公車[0,4]與[0,6],終點6須加上[0,5]的所有可能性,答案為2,dp[6]=2
考慮公車[0,4]、[0,6]與[4,6],終點6須加上[4,5]的所有可能性,答案為2+1,等於3,dp[6]=3
考慮公車[0,4]、[0,6]、[4,6]與[3,7],終點7為[3,6]的所有可能性總和,dp[7]=dp[4]+dp[6]=4
考慮公車[0,4]、[0,6]、[4,6]、[3,7]與[5,9],終點9為[5,8]的所有可能性總和,dp[9]=dp[6]+dp[7]=7
考慮[0,6]須加上之前所有到達[0,5]的所有可能性,使用前綴和加快速度,否則會TLE,
且車站編號過大,中間有很多編號是沒有車站,使用二分搜(lower_bound)加快搜尋
第一版參考程式碼,未使用前綴和,獲得TLE(20%)
參考程式碼