RQNOJ 658 觀光公交)

2021-06-10 08:51:54 字數 798 閱讀 3405

幾大注意點:

1.一次使用氦氣加速器會把後面分成好幾段。

2.我們僅維護end[i],wait[i]恆定,因此需提前讓wait[i]=max(wait[i-1],wait[i]);

3.w[i]+w[i+1]+...+w[j],且w恆定,故可預處理sum[i](滿足累加性)

#include#include#include#include#include#include#include#include#define maxn 1000 +10

#define maxm 10000 + 10

#define maxk 100000 + 10

#define maxd 100 + 10

#define maxt 100000 + 10

using namespace std;

struct man

t[maxm];

struct interval

;int n,m,k,ans,d[maxn+1],wait[maxn+1],w[maxn+1],end[maxn+1],sum[maxn+1];

bool operator<(const interval a,const interval b) //過載 operator < 的意思 為q做準備

tot+=d[i];

/* tot+=w[i]*min(1,d[i]);

// tot+=w[i];

*/ }

if (tot) push(head,n);

//00 cout

1139 觀光公交

2011年noip全國聯賽提高組 時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解檢視執行結果 風景迷人的小城 y 市,擁有n 個美麗的景點。由於慕名而來的遊客越來越多,y 市特意安排了一輛觀光公交車,為遊客提供更便捷的交通服務。觀光公交車在第0 分鐘出現在1號景點,隨後依次...

NOIP2011 觀光公交

題目 分析 設last i 表示來到第i個景點的乘客最晚的時間,time i 表示車到達第i個景點的最小時間。因為每個乘客到達的時間已經固定,所以要使總時間最小,就是使 time down i 最小,其中down i 代表每位乘客的目的地。先考慮不用加速器的情況。可以直接遞推求出答案,time i ...

P1315 觀光公交

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