日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

洛谷U4807抽水机[最小生成树]

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 洛谷U4807抽水机[最小生成树] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題目背景

kkk被Farmer John和他的奶牛貝茜虐的很慘,然后她也想體驗下一個Farmer的生活。但她又懶得種地,就選擇養魚。

題目描述

這些魚都是熱帶魚(廢話),很嬌貴(比kkk嬌貴),要經常換水,要不然每當kkk走過來的時候魚們就會一起使勁拍尾巴導致kkk并不情愿的洗個冷水澡(別問我熱帶魚為毛這么機智)。但kkk并不勤快,他只想花費最少的力氣以實現換水。

kkk的魚塘可以分成n*n個獨立小池,每兩個相鄰的小池間都有一個水閘控制水位。開啟一個水閘需要花費的力氣是這兩個相鄰的小池的水位之差。已知各個小池的水位,kkk想知道她要給每個小池都換水至少需要多少力氣。

輸入輸出格式

輸入格式:

?

第一行一個整數n

接下來n*n個數表示各個小池的水位

?

輸出格式:

?

最小力氣

?

輸入輸出樣例

輸入樣例#1:
3 1 2 3 4 5 6 7 8 9 輸出樣例#1:
12

說明

1<=n<=100

1<=水位<=100


?

題目不清楚,水閘同時打開,要不然還得考慮連通器原理

裸的最小生成樹

注意數組開多大,因為這個WA好幾次,最后只有81分了,導致比賽與第一無緣

#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> using namespace std; const int N=105; inline int read(){char c=getchar();int x=0,f=1;while(c<'0'||c>'9'){if(c=='-')f=-1;c=getchar();}while(c>='0'&&c<='9'){x=x*10+c-'0';c=getchar();}return x; } int n,m,a[N][N]; inline int id(int i,int j){return (i-1)*n+j;} struct edge{int u,v,w;bool operator <(const edge &rhs)const{return w<rhs.w;} }e[N*(N-1)*2]; int cnt=0; inline void ins(int u,int v,int w){cnt++;e[cnt].u=u;e[cnt].v=v;e[cnt].w=w; } int fa[N*N]; int find(int x){return x==fa[x]?x:fa[x]=find(fa[x]);} long long kruskal(){n*=n;sort(e+1,e+1+cnt);long long ans=0,num=0;for(int i=1;i<=n;i++) fa[i]=i;for(int i=1;i<=cnt;i++){int u=e[i].u,v=e[i].v;int x=find(u),y=find(v);if(x!=y){ans+=e[i].w;fa[x]=y;if(++num==n-1) break;}}return ans; } int main(){n=read();m=2*n*(n-1);for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){a[i][j]=read();//a[i][j]=i+j;if(j!=1) ins(id(i,j),id(i,j-1),abs(a[i][j]-a[i][j-1]) );if(i!=1) ins(id(i,j),id(i-1,j),abs(a[i][j]-a[i-1][j]) );}cout<<kruskal();//printf("%d %d",m,cnt); }

?

轉載于:https://www.cnblogs.com/candy99/p/5925237.html

總結

以上是生活随笔為你收集整理的洛谷U4807抽水机[最小生成树]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。