186 USACO Oct08 牧場旅行

2022-04-07 02:22:28 字數 1116 閱讀 6292

★★   輸入檔案:pwalk.in輸出檔案:pwalk.out簡單對比

時間限制:1 s  

記憶體限制:128 mb

n個被自然地編號為1..n奶牛(1<=n<=1000)正在同樣被方便的編號為1..n的n個牧場中吃草。更加自然而方便的是,第i個奶牛就在第i個牧場中吃草。

其中的一些對牧場被總共的n-1條雙向通道的一條連線。奶牛可以通過通道。第i條通道連線的兩個牧場是a_i和b_i(1<=a_i<=n;1<=b_i<=n)其長度是l_i(1<=l_i<=10000)。

通道只會連線兩個不同的牧場,所以這些通道使得整個牧場構成了一棵樹。

奶牛們是好交際的希望能夠經常的訪問別的奶牛。急切地,它們希望你能通過告訴它們q(1<=q<=1000)對牧場的路徑來幫助他們安排旅行。(這裡將有q個詢問,p1,p2(1<=p1<=n;1<=p1<=n))

分數:200

問題名稱:pwalk

輸入格式:

輸入樣例(file pwalk.in):

4 2

2 1 2

4 3 2

1 4 3

1 23 2

輸出格式:

輸出樣例:

2

7

思路:spfa演算法。

1 #include2 #include3

#define n 1010

4using

namespace

std;

5int

n,q;

6int

dis[n],map[n][n];

7bool

vis[n];

8int

que[n];

9int

head,tail,d;

10void spfa(int

x)1132}

33}34}

35int

main()

3647

for(int i=1;i<=q;i++)

4854

fclose(stdin);

55fclose(stdout);

56return0;

57 }

careercup 高等難度 18 6

18.6 設計乙個演算法,給定10億個數字,找出最小的100萬個數字。假定計算機記憶體足以容納全部10億個數字。解法 方法1 排序 按公升序排序所有的元素,然後取出前100萬個數,時間複雜度為o nlog n 方法2 大頂堆 我們可以使用大頂堆來解題。首先,為前100萬個數字建立乙個大頂堆 然後,遍...

LeetCode 第186場周賽

周賽小結 p1 可以統計總的0,1個數,然後從左往右掃,就可以了。看了下資料比較小,就寫的很暴力。from collections import counter as c class solution def maxscore self,s str int n,ret len s 0 for i i...

186 USACO Oct08 牧場旅行

輸入檔案 pwalk.in輸出檔案 pwalk.out簡單對比 時間限制 1 s 記憶體限制 128 mb n個被自然地編號為1.n奶牛 1 n 1000 正在同樣被方便的編號為1.n的n個牧場中吃草。更加自然而方便的是,第i個奶牛就在第i個牧場中吃草。其中的一些對牧場被總共的n 1條雙向通道的一條...