LUOGU P1315 觀光公交 貪心

2022-05-12 10:09:43 字數 725 閱讀 1468

傳送門

首先我們要把加速器乙個乙個的用,用在什麼地方呢。假設當前站車比人晚到,那麼車上的人與等待的人都會受到影響;否則的話只有在當前站下車的人有影響。我們第一步先求出車到站的時間,對於一條路來說,如果人等車,那麼在這條路用加速器的效果可以繼續向後延伸。否則只會對下一站造成影響。這樣的話維護乙個陣列\(rang\),表示影響的範圍,然後對人求乙個字首和,每次取乙個最大的進行更新。時間複雜度\(o(n*k)\)。

#include#include#include#include#includeusing namespace std;

const int maxn = 100005;

const int inf = 0x3f3f3f3f;

inline int rd()

while(isdigit(ch))

return f?x:-x;

}int n,m,k,d[maxn],numw[maxn],ar[maxn],lst[maxn],sum[maxn];

int ans,rang[maxn];

struct datadata[maxn];

int main()

if(!max) break;

d[p]--;ans-=max;

ar[0]=0;

for(int i=1;i} printf("%d\n",ans);

return 0;

}

luogu P1315 觀光公交

比較難的貪心!預處理很多東西,另外,寫注釋好像有點用!可能是心理作用?反正還是寫得挺順利的?include include define ri register int define u int namespace opt while s 0 s 9 return x f using opt in ...

P1315 觀光公交

風景迷人的小城y 市,擁有n 個美麗的景點。由於慕名而來的遊客越來越多,y 市特意安排了一輛觀光公交車,為遊客提供更便捷的交通服務。觀光公交車在第 0 分鐘出現在 1號景點,隨後依次前往 2 3 4 n 號景點。從第 i 號景點開到第 i 1 號景點需要 di 分鐘。任意時刻,公交車只能往前開,或在...

luogu1315 觀光公交

乙個公交車在一條線上從1站 2站走到n站,站站間有距離。另有m個乘客在時間點t在a站等候要到b站。對於乙個站,如果車比人早到,則車等人,如果人比車早到,則人等車 我一開始做題時把這個情況當作已知不可能發生了55555 另外有d個空間瞬移器,使得汽車在0秒內前進乙個單位距離。站與站間可重複用空間瞬移器...