8.1-2014新生暑假個人排位賽09


A、C簽到。其中A要注意使用int在相乘的時候會爆。中間要換成long long.


------------爲啥分割線變得這麼挫了-------------


B、小妹妹送很多快遞

題意:求所有點之間兩兩相連需要的最小值。其中,每兩個點相連的代價是這條路上的權值最大的那條邊。

輸入樣例

1
3 3
1 2 1
2 3 1
1 3 3

輸出樣例

6

hint:
6種送快遞的方式及花費爲:
1 --> 2:  1
1 --> 3:  1
2 --> 1:  1
2 --> 3:  1
3 --> 1:  1
3 --> 2:  1
答案爲6


解法:

1.直接用最短路中的dijstra。詳見排位賽08的小妹妹送快遞。

2.每兩個點放進一個集合時,讓根節點頭上飄着這幾個點的總數,然後兩個集合合併的時候,兩個根節點頭上的光環相乘即爲這個集合兩兩連接的所有頂點數。然後result=求得的所有頂點數*當前加入的這條邊。因爲當前加入的一定是最大的那條邊,這幾個點相連的代價也一定是這條邊。



D. 學妹去搬磚

題意:用1*2的磚塊鋪滿n*m矩形的方案數。其中,給出一些花花草草的座標注意不能壓到。

輸入樣例

3 1 1
2 0

3 1 0

輸出樣例

1
0

hint:
第一組樣例所示地面爲:
.
.
*
其中‘.‘表示空地,’*‘表示花花草草,一種方案可以鋪滿。


解法:







發佈了34 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章