機房練習賽4 3 drive

2021-07-29 23:53:38 字數 2091 閱讀 5935

input file: drive.in

output file: drive.out

time limit: 2 second

工頭cky 最近開了一家**公司,開始經商。作為cky 的忠實小弟,jyb 當了cky 老總的司機。一天晚上,

cky 突然找到了乙個新的客戶,所以第二天一早要急著從成都去上海談生意(設全國一共有n 個城市, 成都

編號為1,上海編號為n),城市之間有高速公路,每條高速公路都有乙個最高限速和長度。cky 想:我應該

在今晚就告訴客戶我最快多久能到上海,不然客戶就可能先和別人談生意了。所以他就讓jyb 計算一下最快

多久能到。

jyb 作為一名經驗豐富的老司機,看了一眼天氣預報,天氣預報說:全國範圍內有一條高速公路第二天可能

下大雨(大雨天氣的話,車速會下降75%),但坑爹的是居然不知道是哪一條,準確資訊要第二天一早才知

道。現在jyb 擁有全國高速公路圖,為了回答乙個盡量早但又不失信於客戶的時間,jyb 想請你幫幫忙。

ps: 雖然cky 很急,但是他還是告誡jyb 不能超速行駛。

第二天知道哪會下雨後,jyb 自然會作出正確的抉擇。

遲到肯定就是失信於客戶啦!

input

第1 行,2 個整數n;m,表示城市數和高速公路數。

接下來m 行,每行4 個整數u; v; speed; length,表示該條高速公路連線的兩個城市u; v,以及最高限速speed

和路長length。

output

輸出滿足題意的時間,保留4 位小數。

sample

drive.in

3 3

1 2 100 100

2 3 100 100

1 3 100 400

drive.out

4.0000

drive.in

2 1

1 2 100 100

drive.out

4.0000

note

• 對於30% 的資料,1 n 102,1 m 103;

• 對於100% 的資料,1 n 4 103,1 m 104,60 speed 120 ,200 length 1000。

注意是單向邊(題說錯了)

盜版瑪麗卡,stl優化dijkstra超時(因為是稀疏圖)

先求最短路,在一條一條地下雨

#include

#include

#include

#include

#include

const

double inf = 1000000000.0;

const

int maxn = 40005;

const

int maxm = 300000 + 5;

using

namespace

std;

struct edgee[maxm];

int h[maxn],cnt,pre[maxn];

double dis[maxn];

bool vis[maxn];

int q[maxn],head,tail;

int n,m;

void adde(int u,int v,double w)

void init()

double spfa( bool ort )}}

vis[u] = false;

head++;

}return dis[n];

}int main()

int now = n;

double ans = spfa(true);

while( now != 1 )

printf("%.4lf\n",ans);

return

0;}

機房練習賽4 3 graph

input file graph.in output file graph.out time limit 1 second jyb 給大家講過強連通分量,強連通分量中的任意兩點之間都可以互相到達。這個條件感覺很苛刻,大部分圖 都不能滿足。現在jyb 告訴你乙個新的概念 單向連通圖 如果有向圖中,對於...

20170117 機房 練習賽

現代科學,面廣枝繁,不是一輩子學得了的。惟一的辦法是集中精力,先打破一缺口,建立一塊或幾塊根據地,然後乘勝追擊,逐步擴大研究領域。此法單刀直入,易見成效。王梓坤 我熱愛生活,我是一名快速成長的oier include include include define program name color...

機房練習賽 Dinner

本來看到這道題的第一想法是環形區間dp的,但是模擬完樣例我就恍然大悟,在10的時間內可以同時讓1,5點完餐,那不就是找最大值得最小值嗎?然後就是二分答案了,二分最少時間。然後就是我的玄學check 我在考試的時候是想到了變成二倍鏈在區間上處理的,但我直接o n 處理了每個區間的和不大於x的塊,然後列...