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 ...
随机推荐
- Mac Appium环境搭建
安装brew ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" 安装java brew install ...
- shell 读取文本并访问mysql/redis
#!/bin/bash File="redeemcode.csv" #File=$ database="d_redeem_info" echo "ch ...
- Codeforces 645E. Intellectual Inquiry(DP,贪心)
Codeforces 645E. Intellectual Inquiry 题意:给定一串字符,由前k个小写拉丁字母组成,要求在该字符串后面补上n个字符(也从前k个小写拉丁字母里面选),使得最后得到的 ...
- Linux编程之recvmsg和sendmsg函数
recvmsg 和 sendmsg 函数 #include <sys/types.h> #include <sys/socket.h> ssize_t send(int soc ...
- mongodb 安装配置及简单使用
步骤一: 下载网址:https://www.mongodb.com/download-center/community 根据自己的环境下载 步骤二: 安装过程只需要默认即可,需要注意的是连接工具“mo ...
- Django连接MySQL出错
错误一:No module named 'MySQLdb' 原因:python3连接MySQL不能再使用mysqldb,取而代之的是pymysql. 解决方法:在python的MySQL包中,即路径: ...
- Laravel中Session的使用
以file为示例 1.Http request session方法$request->session()->put('key1','value1');echo $request->s ...
- Linux vi/vim命令
转自:http://www.runoob.com/linux/linux-vim.html Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一 ...
- Linux终端中文显示乱码
今天,帮我们同学处理一下中文显示乱码的问题.这个是个国内Linux用户烦恼的问题,由于大部分的Linux发行版都是以英语为主体的,而且英文在通用性和稳定性上都比中文要好一些,各种奇怪的BUG也要少一点 ...
- PHP(面向对象)连接数据库,实现基本的增删改查
https://blog.csdn.net/qq_37674858/article/details/78921485 --------------------- 本文来自 周子青 的CSDN 博客 , ...