一本通1600 例 4 旅行問題

2022-05-08 01:57:11 字數 2500 閱讀 1252

時間限制: 1000 ms         記憶體限制: 524288 kb

原題來自:poi 2004

john 打算駕駛一輛汽車周遊乙個環形公路。公路上總共有 n

'>

n 車站,每站都有若干公升汽油(有的站可能油量為零),每公升油可以讓汽車行駛一千公尺。john 必須從某個車站出發,一直按順時針(或逆時針)方向走遍所有的車站,並回到起點。在一開始的時候,汽車內油量為零,john 每到乙個車站就把該站所有的油都帶上(起點站亦是如此),行駛過程中不能出現沒有油的情況。

任務:判斷以每個車站為起點能否按條件成功周遊一周。

第一行是乙個整數 n

'>n

,表示環形公路上的車站數;

接下來 n

'>

n 行,每行兩個整數 pi,

di'>pi,di

,分別表示表示第 i

'>

i 號車站的存油量和第 i

'>

i 號車站到下一站的距離。

輸出共 n

'>n

行,如果從第 i

'>

i 號車站出發,一直按順時針(或逆時針)方向行駛,能夠成功周遊一圈,則在第 i

'>

i行輸出 tak

'>tak

,否則輸出 nie

'>nie

5

3 11 2

5 20 1

5 4

tak

nietak

nietak

對於全部資料,3≤n

≤106,

0≤pi

≤2×109,0

≤2×10

9'>3≤n≤106

,0≤pi≤2×109

,0≤n≤10

6,0≤

pi≤2

×109,

0≤2×10

9'>sol:若乙個點是不能環繞一圈的,那麼就是這個點在繞一圈過程中油量的最小值<0,每個點對當前油的貢獻就是pi-di,這樣就可以維護出乙個字首和,(斷環成鏈後長度為2n),i點是否合法就是判斷(s[i]~s[i+n-1]中的最小值-s[i])是否小於0,小於0就不可以,逆時針一模一樣搞一遍,就是pi和di會變一下,隨便處理一下就可以了

#include using

namespace

std;

typedef

long

long

ll;inline ll read()

while

(isdigit(ch))

return (f)?(-s):(s);

}#define r(x) x=read()inline

void

write(ll x)

if(x<10

)

write(x/10

); putchar((x%10)+'0'

);

return;}

inline

void

writeln(ll x)

#define w(x) write(x),putchar(' ')

#define wl(x) writeln(x)

const

int n=1000005

;int n,you[n<<1],dis[n<<1],you1[n<<2],dis1[n<<1],oil[n<<1

];ll sum[n

<<1

];bool ans[n<<1

];struct

data

ddq[n

<<1

];int

main()

head=1; tail=0

;

for(i=1;i<=n+n;i++)

while(head<=tail&&ddq[tail].shuz>sum[i]) tail--;

ddq[++tail]=(data);

}for(i=1;i<=n;i++)

head=1; tail=0

;

for(i=1;i<=n+n;i++)

}while(head<=tail&&ddq[tail].shuz>sum[i]) tail--;

ddq[++tail]=(data);

}for(i=1;i<=n;i++)

return0;

}/*input

53 1

1 25 2

0 15 4

output

taknie

taknie

takinput

104 3

10 5

5 018 0

2 75 7

3 22 9

10 3

6 9output

taktak

taktak

taknie

nienie

taknie

*/view code

一本通 1 1 例 4 加工生產排程

題目傳送門 這道題是johnson雙流水線排程演算法的基礎題。本題是要求乙個加工順序使得總的加工時間最少,而要使加工時間最少,就是讓各車間的空閒時間最少。一旦a車間開始加工,便會不停地進行加工 我們不要去管車間是否能夠一直生產,因為他們有三班,可以24時間不停地運轉 關鍵是b車間在生產的過程中,有可...

C 一本通 1 1 例 4 加工生產排程

一本通題庫 1425 libreoj 10003 vjudge 注意 libreoj和一本通題庫題意相同,但資料範圍不同。以一本通題庫為準。某工廠收到了 n nn 個產品的訂單,這 n nn 個產品分別在 a b a ba b 兩個車間加工,並且必須先在 a aa 車間加工後才可以到 b bb 車間...

一本通1555 例 4 次小生成樹

時間限制 1000 ms 記憶體限制 524288 kb 題目描述 原題來自 beijing 2010 組隊賽 給定一張 n 個點 m 條邊的無向圖,求無向圖的嚴格次小生成樹。設最小生成樹的邊權之和為 sum,嚴格次小生成樹就是指邊權之和大於 sum 的生成樹中最小的乙個。輸入格式 第一行包含兩個整...