演算法 加油站良好的出發點

2021-09-23 15:29:34 字數 628 閱讀 9148

n個加油站逆時針組成乙個環,每個加油站最多加oil[i]的油量,該加油站距下個加油站距離dis[i],1個油可以走1個距離,初始車裡沒有油,則從哪些加油站出發可以逆時針一圈後回到出發點。

類似dp的思維題,時間o(n)

該方法實現o(n)的核心思想在於,先找到乙個良好出發點,再順時針找可以到達該良好出發點的出發點,即新良好出發點,依次順時針找,若順時針一圈後仍然沒有良好出發點,則所有點都不會是。

過程如下:

首先 ,陣列實現環結構,每個元素代表加油站,arr[i] 取值為 oil[i] - dis[i] ,其中,oil[i] 為當前加油站提供的油,dis[i] 為從加油站 i 到 加油站 i+1 的距離,其中 i+1 可以返回到陣列0位置。arr[i] 新值可以稱為淨值。

由於車走的方向是逆時針,所以思維處理該題,逆時針擴充聯通塊,順時針考查起始位置。

首先,所有淨值小於0的加油站一定不滿足要求。

所以,先從考查任意淨值大於等於0的起始點,然後逆時針擴充聯通塊。

若能逆時針擴充一圈後回來,則該點是良好出發點,否則不是,同時標記聯通塊計算的結尾點。

然後從考查點順時針考查下個不為0的點,是否可以擴充到剛才的考查點,不可以則一定不是良好出發點,若可以,再考查是否可以從剛才結尾點繼續擴充一圈,依次類推。。

小波分解的出發點

經過持續學習研究,終於理解了小波分解的原理和目的 小波與傅利葉變換一樣,都是基函式去擬合被測訊號 與傅利葉變換不同的是,小波是採用非週期訊號,通過這個基函式的不同尺度縮放去擬合被測訊號的不同頻率,再通過平移基函式去擬合不同頻率分量在時間序列 也稱為空間位置 上的位置 最後得到經過縮放平移變換的基函式...

加油站(貪心演算法)

一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應 在哪些加油站停靠加油,使沿途加油次數最少。對於給定的n n 5000 和k k 1000 個加油站位置,程式設計計算最少加油次數。並證明演算法能產生乙個最優解。要求 輸入 第一行有2個正整數n和k,表示汽車加滿油後可行駛...

貪心演算法 加油站

一輛汽車加滿油後可行駛n公里。旅途中有若干個加油站。設計乙個有效演算法,指出應在哪些加油站停靠加油,使沿途加油次數最少。對於給定的n n 5000 和k k 1000 個加油站位置,程式設計計算最少加油次數。並證明演算法能產生乙個最優解。要求 輸入 第一行有2個正整數n和k,表示汽車加滿油後可行駛n...