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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

為了加快社會主義現代化,建設新農村,農夫約(Farmer Jo)決定給農莊里每座建筑都連上互聯網,方便未來隨時隨地網購農藥。
他的農莊很大,有N 座建筑,但地理位置偏僻,網絡信號很差。
一座建筑有網,當且僅當滿足以下至少一個條件:
1、給中國移動交寬帶費,直接連網,花費為A。
2、向另外一座有網的建筑,安裝共享網線,花費為B×兩者曼哈頓距離。
現在,農夫約已經統計出了所有建筑的坐標。他想知道最少要多少費用才能達到目的。

Input

第一行:三個正整數,代表N、A、B。
接下來N 行:每行兩個整數Xi、Yi,第i 行代表第i 座建筑的坐標。

Output

第一行:一個整數,代表答案。

Sample Input

5 10 2
0 0
0 1
1 0
1 1
100 100

Sample Output

26

Data Constraint

30%的數據:N <= 3,A <= 50,B <= 5
60%的數據:N <= 100,A <= 1000,B <= 20
100%的數據:N <= 10^3,A <= 10^4,B <= 50,|Xi|,|Yi| < 2^15

Solution

  • 這題是一道簡單的最小生成樹裸題。

  • 一個點 i 向另一個點 j 連一條權值為 dist(i,j)?B 的邊,其中 dist(i,j) 表示兩點的曼哈頓距離。

  • 如何處理“直接聯網”的情況呢?于是再加入一個虛點 0

  • 0 向每一個點各連一條權值為 A 的邊,做最小生成樹時將 0 也做進去即可。

  • 顯然,這 n+1 個點(包括 0<script type="math/tex" id="MathJax-Element-777">0</script> )構成的最小生成樹即為答案。

Code

#include<cstdio> #include<algorithm> using namespace std; typedef long long LL; const int N=1001; struct data {LL x,y,z; }a[N],b[2*N*N]; int tot; LL ans; int f[N]; inline LL read() {LL X=0,w=1; char ch=0;while(ch<'0' || ch>'9') {if(ch=='-') w=-1;ch=getchar();}while(ch>='0' && ch<='9') X=(X<<3)+(X<<1)+ch-'0',ch=getchar();return X*w; } inline LL dist(int i,int j) {return abs(a[i].x-a[j].x)+abs(a[i].y-a[j].y); } inline bool cmp(data x,data y) {return x.z<y.z; } inline int get(int x) {if(f[x]==x) return x;return f[x]=get(f[x]); } int main() {int n=read();long long A=read(),B=read();for(int i=1;i<=n;i++){a[i].x=read(),a[i].y=read(),f[i]=i;for(int j=1;j<i;j++){b[++tot].x=j;b[tot].y=i;b[tot].z=dist(i,j)*B;}}for(int i=1;i<=n;i++){b[++tot].x=0;b[tot].y=i;b[tot].z=A;}sort(b+1,b+1+tot,cmp);for(int i=1,k=0;i<=tot;i++){int f1=get(b[i].x),f2=get(b[i].y);if(f1!=f2){f[f1]=f2;ans+=b[i].z;if(++k==n) break;}}printf("%lld",ans);return 0; } 與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的JZOJ 5353. 【NOIP2017提高A组模拟9.9】村通网的全部內容,希望文章能夠幫你解決所遇到的問題。

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