HDU 5452 Minimum Cut (Spaning Tree)
2024-10-21 06:24:09
生成树的上的一个非根结点对应一条生成树上的边,然后这个结点的子树上连出去的边就对应去掉这条边的割,
然后就可以对树外的边求LCA,在LCA上标记,利用这个信息可以算出有多少条边在子树上,以及有多少条边不再子树上。
其实可以更进一步,非叶子结点一定不会比叶子结点更优,连的边只不会减少。
所以只要统一叶子结点上的度数,然后枚举叶子结点。
#include<bits/stdc++.h>
using namespace std; const int maxn = 2e4+; int ct[maxn],dg[maxn];
int main()
{
//freopen("in.txt","r",stdin);
int T; scanf("%d",&T);
for(int kas = ; kas <= T; kas++){
int n,m; scanf("%d%d",&n,&m);
memset(ct+,,sizeof(int)*n);
memset(dg+,,sizeof(int)*n);
int u,v;
for(int i = ; i < n; i++){
scanf("%d%d",&u,&v);
dg[u]++; dg[v]++;
}
for(int i = n; i <= m; i++){
scanf("%d%d",&u,&v);
ct[u]++; ct[v]++;
}
int MinCut = <<;
for(int i = ; i <= n; i++){
if(dg[i]<){
MinCut = min(MinCut,ct[i]);
}
}
printf("Case #%d: %d\n",kas,MinCut+);
}
return ;
}
最新文章
- oracle客户端安装配置 tnsnames.ora文件
- poj 1325 Machine Schedule
- 奇怪吸引子---TreeScrollUnifiedChaoticSystem
- 【转】 Update和FixedUpdate的区别
- iOS使用keychain存储密码
- SPOJ 1435 Vertex Cover 树形DP
- 剑指OFFER之第一个只出现一次的字符(九度OJ1283)
- 【Python Network】分解DNS查询结果
- FZOJ2110 star(DFS)
- Linux centOS本地DNS安装
- webpack中加载CSS
- [USACO15OPEN]回文的路径Palindromic Paths 2.0版
- es6新增
- Mybatis逆向工程 —— ResultMaps collection already contains value for ***
- mysql 5.7 laravel json类型数据相关操作
- 删除github上面的项目
- cad巧用插件自定义填充图形
- Spring5 新特性
- Teaching Machines to Understand Us 让机器理解我们 之二 深度学习的历史
- (纪录片)现代生活的秘密规则:算法 The Secret Rules of Modern Living: Algorithms
热门文章
- 附近wifi都是你的
- 使用tomcat作为容器安装Jenkins
- org.apache.commons.httpclient.HttpClient的使用(转)
- ajax异步传输数据,return返回值为空
- 用户唯一性验证(ajax)
- php:比较两个txt文件,格式如下,分别取出a.txt有的b.txt没有的,b.txt有的a.txt没有的及两个都有的
- Linux+.NetCore+Nginx
- (转)磁盘阵列RAID原理、种类及性能优缺点对比
- 牛客网Java刷题知识点之什么是代码块、普通代码块、静态代码块、同步代码块、构造代码块以及执行顺序
- E. Karen and Supermarket