A、C簽到。其中A要注意使用int在相乘的時候會爆。中間要換成long long.
------------爲啥分割線變得這麼挫了-------------
題意:求所有點之間兩兩相連需要的最小值。其中,每兩個點相連的代價是這條路上的權值最大的那條邊。
輸入樣例
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:
第一組樣例所示地面爲:
.
.
*
其中‘.‘表示空地,’*‘表示花花草草,一種方案可以鋪滿。
解法: