Minimum Cut(2015沈阳online)【贪心】
Minimum Cut[贪心]2015沈阳online
题意:割最少的边使得图不连通,并且割掉的边中有且仅有一条是生成树的边。
首先,我们选择一条树中的边进行切割,此时仅考虑树上的边集,有两种情况:1.树被分为两个结点数大于1的子树2.树被分为一个子树和一个单独结点。
如果选择第一种情况,那么还要割掉其中一颗子树中的结点所涉及到的所有非树中边,这种情况下,如果重新选择,选择子树上的一个叶子结点,那么只需要割掉叶子结点于该树所连的边和该结点涉及到的非树中边,所需要割的边数一定小于第一种情形。
代码如下:
#include<bits/stdc++.h> using namespace std; int main(){
int t,n,m,a,b;
scanf("%d",&t);
for(int i=;i<=t;i++){
scanf("%d%d",&n,&m);
int td[]={},gd[]={};
for(int i=;i<n;i++){
scanf("%d%d",&a,&b);
td[a]++;
td[b]++;
}
for(int i=;i<=m-n+;i++){
scanf("%d%d",&a,&b);
gd[a]++;
gd[b]++;
}
int ans=;
for(int i=;i<=n;i++){
if(td[i]==)
ans=min(ans,+gd[i]);
}
printf("Case #%d: %d\n",i,ans);
}
return ;
}
xxmlala's code
不得不说,最近的几场训练赛中,我们普遍存在一个问题,就是过于相信榜,榜上较少人过的题,我们往往会觉得自己也肯定过不了,就直接看都不看跳过了,此外,我们也常常在一道题上吊死,常常卡题卡好几个小时还不肯放过,以后一定要及时开新题,充分开新题!
由于做过的树相关题目较少,看到树的题,我总是会下意识的逃避,以后要克服这种畏难情绪,多多刷题~
Ps:参考了这位巨巨的解析https://blog.csdn.net/wygdove/article/details/48625467
Minimum Cut(2015沈阳online)【贪心】的更多相关文章
- Hdu 5452 Minimum Cut (2015 ACM/ICPC Asia Regional Shenyang Online) dfs + LCA
题目链接: Hdu 5452 Minimum Cut 题目描述: 有一棵生成树,有n个点,给出m-n+1条边,截断一条生成树上的边后,再截断至少多少条边才能使图不连通, 问截断总边数? 解题思路: 因 ...
- HDU 5452——Minimum Cut——————【树链剖分+差分前缀和】ACdream 1429——Diversion——————【树链剖分】
Minimum Cut Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 65535/102400 K (Java/Others)Tota ...
- Minimum Cut
Minimum Cut Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 65535/102400 K (Java/Others)Tota ...
- POJ Minimum Cut
Minimum Cut Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 9302 Accepted: 3902 Case ...
- POJ 2914 Minimum Cut
Minimum Cut Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 9319 Accepted: 3910 Case ...
- hdu 5452 Minimum Cut 树形dp
Minimum Cut Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=54 ...
- POJ 2914 Minimum Cut 最小割图论
Description Given an undirected graph, in which two vertices can be connected by multiple edges, wha ...
- HDU 6214.Smallest Minimum Cut 最少边数最小割
Smallest Minimum Cut Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Oth ...
- HDU 6214 Smallest Minimum Cut(最少边最小割)
Problem Description Consider a network G=(V,E) with source s and sink t. An s-t cut is a partition o ...
随机推荐
- eclipse运行内存超出
问题分析: 1:可能是eclipse自身的运行内存不够 2:可能是java中的jre内存不够 修改方法: 1 改eclipse的运行内存 在eclipse.ini文件中 -startupplugins ...
- 预处理、const、static与sizeof-为什么要引入内联函数
1:引入内联函数的主要目的是,用它替代C语言中表达形式的宏定义来解决程序中函数调用的效率问题.在C语言里可以使用如下的宏定义: #define ExpressionName(Var1,Var2) (V ...
- jsp页面,使用Struts2标签,传递和获取Action类里的参数,注意事项。<s:a action><s:iterator><s:param>ognl表达式
在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action" ...
- redis 用scan 代替keys,hgetAll
转载自:https://blog.csdn.net/w05980598/article/details/80264568 众所周知,当redis中key数量越大,keys 命令执行越慢,而且最重要的会 ...
- Java-CAS 与原子类
CAS(Compare and Swap),即比较并替换,实现并发算法时常用到的一种技术. CAS 的思想很简单:三个参数,一个当前内存值 V.旧的预期值 A.即将更新的值 B,当且仅当预期值 A 和 ...
- 用socket.io实现websocket的一个简单例子
socket.io 是基于 webSocket 构建的跨浏览器的实时应用. 逛博客发现几个比较好的 一.用socket.io实现websocket的一个简单例子 http://biyeah.iteye ...
- Qt之CMake和MinGW编译OpenCV
这里编译的是最新版OpenCV3.4.3,编译过程比较曲折,大部分编译错误都可以查得到解决方法,也遇到了Google无果的错误,好在最后还是解决了,特此记录. 编译环境 win10-64bit Qt5 ...
- Jmeter设置字体大小
Jmeter5.0原配置字体很小,需要更改其配置 在apache-jmeter-5.0/bin/下的jmeter.properties文件中添加如下内容: jmeter.hidpi.mode=true ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类
笔记 6.Mysql逆向工程效率神器之使用IDE自动生成Java实体类 简介:实战使用IDE根据Mysql自动生成java pojo实体类 1.IDEA连接数 ...
- Angular05 angular架构、搭建angular开发环境、组件必备三要素、angular启动过程
1 angular架构 1.1 组件:是angular应用的基本构建模块,可以理解为一段带有业务逻辑和数据的HTML 1.2 服务:用来封装可重用的业务逻辑 1.3 指令:允许你想HTML元素添加自定 ...