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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

17AHU排位赛2 E题(树上最大匹配,树形DP)

發布時間:2023/12/20 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 17AHU排位赛2 E题(树上最大匹配,树形DP) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

problem

有一個n個節點n-1條邊組成的樹。
每個點看成一個人,連接u和v的邊看成是“中意關系”,即u和v兩個人都想和對方組隊。每個人希望組隊的對象有可能有多個。
一支隊伍由且僅由兩個人組成,并且如果u和v組隊了,那么u、v將不能和其他人再組成一支隊。
現在問你,這n個人最多能組成多少支隊伍。(允許某些人組不了隊)

Input

第一行輸入一個整數n,m(1<=n<=200000)
接下來n-1行,每行兩個整數u,v,表示u和v兩個人都想和對方組隊。
數據保證是一個合法的樹。

Output

輸出一個整數,表示最多能組成多少支隊伍。

Input

5
1 2
1 3
2 4
4 5

Output

2

Limitation

1s 256MB

Hint

一種可行的組隊方案:
1與3組隊
4與5組隊
最多組成2支隊


思路

基本的樹形DP
dp[rt][0]表示rt這個點不與任何一個兒子連邊,以k為根的子樹的最大匹配
dp[rt][1]表示rt這個點與某一個兒子連邊,以k為根的子樹的最大匹配


核心代碼

void dfs(int rt,int f) {int mi=n;if(G[rt].size()==1&&G[rt][0]==f){return ;}for(int i=0;i<G[rt].size();++i){int tt=G[rt][i];if(tt==f) continue;dfs(tt,rt);dp[rt][0]+=dp[tt][1];dp[rt][1]+=dp[tt][1];if(dp[tt][1]-dp[tt][0]<mi) mi=dp[tt][1]-dp[tt][0];}dp[rt][1]=dp[rt][1]-mi+1; }


代碼示例

#include<bits/stdc++.h> using namespace std; const int maxn=200010;int n;vector<int> G[maxn];int dp[maxn][2];void dfs(int rt,int f) {int mi=n;if(G[rt].size()==1&&G[rt][0]==f){return ;}for(int i=0;i<G[rt].size();++i){int tt=G[rt][i];if(tt==f) continue;dfs(tt,rt);dp[rt][0]+=dp[tt][1];dp[rt][1]+=dp[tt][1];if(dp[tt][1]-dp[tt][0]<mi) mi=dp[tt][1]-dp[tt][0];}dp[rt][1]=dp[rt][1]-mi+1; }int main() {ios::sync_with_stdio(false);cin>>n;int u,v;for(int i=1;i<n;++i){cin>>u>>v;G[u].push_back(v);G[v].push_back(u);}dfs(1,0);cout<<max(dp[1][0],dp[1][1])<<endl;return 0; }

總結

以上是生活随笔為你收集整理的17AHU排位赛2 E题(树上最大匹配,树形DP)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 久久久精品亚洲 | 欧美另类精品xxxx孕妇 | 91精品国产高清一区二区三蜜臀 | 韩国美女视频在线观看18 | 国产裸体视频 | 男人的天堂va| 免费看成人毛片 | 欧美日韩一区二区三区四区五区六区 | 久久美女精品 | 狠狠躁夜夜躁人人爽天天高潮 | 亚洲国产精品成人综合久久久 | 日韩成人久久 | 久久久久久免费 | 一边吃奶一边摸做爽视频 | 国产一区二区在线免费观看视频 | 天天躁日日躁aaaa视频 | 欧美片一区二区 | 午夜免费网站 | 成年人看的羞羞网站 | 国产91网 | 91久久一区二区 | 超碰不卡| 亚洲精品乱码久久久久久国产主播 | 日日噜噜夜夜狠狠久久丁香五月 | 少妇高潮一区二区三区99 | 久久国产精品一区二区三区 | 亚洲欧美综合精品久久成人 | 极品另类 | 久久一视频 | 四虎影视精品 | 香蕉网在线视频 | 四虎网址大全 | 中文字幕成人 | 999在线视频 | 国产天堂网| 日韩国产精品一区 | 一区二区免费播放 | 亚洲AV无码成人片在线观看 | 日本视频中文字幕 | 欧美人人爽 | 99这里 | 99久久婷婷国产综合精品 | 黄色污污视频软件 | 亚洲色图国产精品 | 中文字幕11页中文字幕11页 | 亚洲精品高清在线 | 亚洲激情视频小说 | 污污内射在线观看一区二区少妇 | 久久亚洲av午夜福利精品一区 | 国产精品videossex久久发布 | 久久久久久国产精品三区 | 国产精品一区av | 午夜电影网一区 | 97人人射 | 黑人玩弄人妻一区二区绿帽子 | 成人免费看av | 婷综合 | 日韩视频免费 | av四虎| 浪漫樱花动漫在线观看免费 | 成a人片亚洲日本久久 | 超碰人人在线观看 | 亚洲第一天堂久久 | 山外人精品影院 | 日韩精品xxxx| 国产视频高清 | 伊人加勒比 | 五月中文字幕 | 久久咪咪 | 国产伦理吴梦梦伦理 | 99精品在线观看视频 | 国产综合精品视频 | 国产三级自拍视频 | 久久艹av| 欧美亚洲一| 少妇久久久久久被弄高潮 | 国产在线播放一区 | 在线看黄的网站 | 97久久久久久久久久 | 亚洲国产无码精品 | 麻豆乱码国产一区二区三区 | 性插视频在线观看 | 天天干干干干干 | 亚洲爆乳无码一区二区三区 | 无码人妻av一区二区三区波多野 | 精品欧美一区二区精品久久 | 亚洲在线视频 | 激情文学欧美 | 日本在线一本 | 日韩中文电影 | 公侵犯一区二区三区 | 亚洲精品福利 | 青娱乐激情 | 日韩在线视| 一本加勒比北条麻妃 | 岳奶大又白下面又肥又黑水多 | 美女扒开腿男人爽桶 | av一区二区在线观看 | 国产日韩欧美成人 |