C 掌握魔法 東東 I

2021-10-23 00:19:50 字數 835 閱讀 4889

有n塊田需要灌水,有兩種方式,一是取水灌田,二是打通兩塊田建立傳送門,每種方式都有一定的消耗,兩種方式結合,求一種最小消耗的方法。

將各個田看作是乙個點,每兩個點之間有乙個建立傳送門的耗費值,再加乙個超級原點,與每個點相連,表示取水灌田的耗費值,構成乙個圖,利用kruskal方法求最小生成樹即可。

#include

#include

using

namespace std;

struct edge

edge

(int f,

int t,

int w)};

bool

cmp(edge e1, edge e2)

edge e[

1000000];

int n,wi,p,tot;

int par[

1000000];

intfind

(int x)

intmain()

; e[tot++

]= edge;}

for(

int i =

0; i < n; i++);

}}for(

int i =

0; i <= n; i++

) par[i]

= i;

sort

(e, e + tot, cmp)

;int ans =

0, count =0;

for(

int i =

0; i < tot; i++)}

cout << ans << endl;

}

掌握魔法 東東 I

東東在老家農村無聊,想種田。農田有 n 塊,編號從 1 n。種田要灌氵 眾所周知東東是乙個魔法師,他可以消耗一定的 mp 在一塊田上施展魔法,使得黃河之水天上來。他也可以消耗一定的 mp 在兩塊田的渠上建立傳送門,使得這塊田引用那塊有水的田的水。1 n 3e2 黃河之水天上來的消耗是 wi,i 是農...

Week6 作業C 掌握魔法 東東 I

東東在老家農村無聊,想種田。農田有 n 塊,編號從 1 n。種田要灌水 眾所周知東東是乙個魔法師,他可以消耗一定的 mp 在一塊田上施展魔法,使得黃河之水天上來。他也可以消耗一定的 mp 在兩塊田的渠上建立傳送門,使得這塊田引用那塊有水的田的水。1 n 3e2 黃河之水天上來的消耗是 wi,i 是農...

Week6 作業 C 掌握魔法 東東 I

東東在老家農村無聊,想種田。農田有 n 塊,編號從 1 n。種田要灌氵 眾所周知東東是乙個魔法師,他可以消耗一定的 mp 在一塊田上施展魔法,使得黃河之水天上來。他也可以消耗一定的 mp 在兩塊田的渠上建立傳送門,使得這塊田引用那塊有水的田的水。1 n 3e2 黃河之水天上來的消耗是 wi,i 是農...