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:
第一组样例所示地面为:
.
.
*
其中‘.‘表示空地,’*‘表示花花草草,一种方案可以铺满。
解法: