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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JZOJ 5406. 【NOIP2017提高A组模拟10.10】Tree

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

Description

給定一顆n 個點的樹,樹邊帶權,試求一個排列P,使下式的值最大

其中maxflow(s; t) 表示從點s 到點t 之間的最大流,即從s 到t 的路徑上最小的邊權

Input

第一行一個整數n,表示點數
下接n - 1 行,每行三個數u, v, w 表示一條連接點u 和點v 權值為w 的邊

Output

輸出一行一個整數,表示答案

Sample Input

2
1 2 2333

Sample Output

2333

Data Constraint

對于前5% 的數據滿足n <= 8
對于前40% 的數據滿足n <= 200
對于前60% 的數據滿足n <= 2000
對于100% 的數據滿足n <= 100000

Solution

  • 你絕對不會想到這道題的結論有多么簡潔!——答案為所有邊的邊權和!

  • 什么?為什么呢?

  • 首先,我們不能避免計算最短邊的答案,總會經過的。

  • 同樣,次短邊也要加進去,因為 N 個點的排列不得不經過這條邊。

  • 同理,第三小、第四小……最大邊,都要加入答案,因為答案為 n?1 條邊之和。

-于是——答案為所有邊的邊權和。

Code

#include<cstdio> using namespace std; long long ans; inline int read() {int 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; } int main() {int n=read();while(--n){read(),read();ans+=read();}printf("%lld",ans);return 0; }

總結

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

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