重慶市NOIP模擬賽 業務

2021-07-22 04:49:31 字數 2011 閱讀 2750

mr_h 謀得乙份兼職——貨車司機,從此以後他將會開著貨車穿行在 c 國的各大城市之間。

c 國中有 n 座城市(編號為 1~n),並且有 m 條雙向公路,每條公路連線兩座不同的城市。貨車

從任意一座城市出發都可以抵達任意另一座城市。在每條公路上,都有乙個收費站,通過的車輛需要

交納一定過路費。可能有多條公路連線相同的兩座城市。

為了增加財政收入,c 國還在每座城市也設定了收費站。並且規定,車輛從一座城市到另一座城

市的費用是,所經過公路費用和,加上所經過的城市中費用的次大值

...(這裡的次大可以和最大相同,

但是城市不同)。

(這裡的次大可以和最大相同,

但是城市不同)。

現在 mr_h 告訴你今年 k 次業務運送貨物的起點、終點城市列表,請你幫忙計算,每次業務需要

交納的最低過路費。

第一行包含三個用乙個空格隔開的整數:n,m,k。其意義如題目描述。

第 2 到第 n+1 行:第 i+1 行包含乙個單獨的整數 c(1<=c<=100000),表示城市 i 的費用。

接下來的 m 行,每行包含三個整數 a,b,w,表示一條公路連線城市 a 和城市 b(1<=a,b<=n),

其過路費為 w(1<=w<=100000)。

最後的 k 行,每行包含兩個整數:s,t,表示一次業務的起點和終點(1<=s,t<=n 且 s!=t)。

共 k 行,每行乙個整數,表示從城市 s 到 t 的最少過路費。

copy

(如果複製到控制台無換行,可以先貼上到文字編輯器,再複製)

5 7 325

3341 2 3

1 3 2

2 5 3

5 3 1

5 4 1

2 4 3

3 4 4

1 31 4

2 3

4

78

考試時第一反應就是列舉次小點,列舉起點預處理出每兩個點的最短路就行了,時間o(n^3*logm+k)(用堆優化的dijkstra),騙了30%的分。

後來看了正解,內心簡直是崩潰的。

首先假設:

dist[i][0]=從 k 出發到 i 點經過的點費用最大值為 a[k]的情況的最小邊費用和;

dist[i][1]=從 k 出發到 i 點經過的點費用次大值為 a[k]的情況的最小邊費用和;

一樣列舉次小點,但在計算兩兩最短路時並沒有列舉起點,直接用ans[i][j]=min(dist[i][0]+dist[j][1],dist[i][1]+dist[j][0])+val[k]就行了,時間複雜度為o(n^2*logm+k)

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

#define maxn 250

#define maxm

#define dist(x)(tmp[x.pos][x.hm])

#define vis(x)(vis[x.pos][x.hm])

#define inf 0x3f3f3f3f

typedef long long int ll;

int getint()

};priority_queueque;

void insert(point newed)

}else if(val[v]==val[sc])//v可能為最大點

}else insert(newed); //把v當做更小點}}

}int main()

memset(dist,0x3f,sizeof(dist));

for(int sc=1;sc<=n;++sc)//列舉次小點

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

//fclose(stdin);

//fclose(stdout);}/*

3 2 323

41 2 2

1 3 2

1 21 3

2 3*/

重慶市NOIP模擬賽 獨立集

知道做法竟然可以 tt color 3發,真是沒誰了。題面遠長於題解系列。有一天,乙個名叫順旺基的程式設計師從石頭裡誕生了。又有一天,他學會了氣泡排序和獨立集。在乙個圖里,獨立集就是乙個點集,滿足任意兩個點之間沒有邊。於是他就想把這兩個東西結合在一起。眾所周知,獨立集是需要乙個圖的。那麼順旺基同學創...

總結 20151017重慶市NOIP模擬賽

這場比賽有點難,考完了之後感覺要爆零了 o 這次比賽還算不錯,發揮出了正常水平 木有犯sb錯誤 主要是因為第一題亂yy寫了乙個不知道比標程慢了無數倍的 然後a掉了。藐似第一題比較關鍵,之後的比賽不能在第一題上掉以輕心。預設第一題最簡單o o 這次在比賽的前幾分鐘看了一下題目,在做的過程中先跳過了第二...

noip模擬賽 密碼

表示沒看懂演算法3 問題描述 有壓迫,就有反抗。mored的寵物在法庭的幫助下終於反抗了。作為乙隻聰明的寵物,他打算把魔法使mored的魔法書盜去,奪取mored的魔法能力。但mored怎麼會讓自己的魔法書輕易地被盜取?mored在魔法書上設定了乙個密碼鎖,密碼鎖上有乙個問題。施以斯臥鋪魔法吧,你有...