[CodeForces]981C Useful Decomposition
李煜东dalao今天给我们讲课了QwQ
ppt上一道题
英文题说一下题意吧,以后又看不懂了
将一棵树分割成多个简单路径,每个边只能在一条路径上,但至少有一个公共节点。
输出简单路径分割方法/No
由题易知,如果图不是一个菊花图的话,想搞成题意的样子至少要有环或者有的路径共用。
想到这儿代码搞一搞就行了
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
using namespace std;
const int N=1e5;
vector<int>s;
int n,ecnt,head[N],mx=0,ct;
struct Edge{
int to,nxt,val;
}e[N<<1];
int du[N];
void add(int bg,int ed) {
e[++ecnt].nxt=head[bg];e[ecnt].to=ed;head[bg]=ecnt;
}
int main() {
scanf("%d",&n);
int cnt=0;
for(int i=1,u,v;i<n;i++) scanf("%d%d",&u,&v),add(u,v),add(v,u),du[u]++,du[v]++;
for(int i=1;i<=n;i++) {
if(mx<du[i]) mx=du[i],ct=i;
if(du[i]>2 ) cnt++;
else if(du[i]==1)s.push_back(i);
if(cnt>1) {printf("No");return 0;}
}
puts("Yes");
if(!cnt) {
puts("1");
printf("%d %d",s[0],s[1]);return 0;
}
printf("%d\n",s.size());
for(int i=0;i<s.size();i++) printf("%d %d\n",ct,s[i]);
}
[CodeForces]981C Useful Decomposition的更多相关文章
- CF 981C Useful Decomposition
题面 题目大意 给定一棵树,要求划分出几条链,使这几条链交于一点. 解题思路 因为所有链都要交于一点,所以必须交于一个度数最多的点.这样就形成了一个菊花形.然后从这个点出发到它的子树,判断子树的度数是 ...
- codeforces 981 C.Useful Decomposition
C. Useful Decomposition time limit per test 1 second memory limit per test 256 megabytes input stand ...
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
- CodeForces - 261B Maxim and Restaurant
http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...
随机推荐
- 韩国 DBA 博客
http://mysqldba.tistory.com/ http://cafe.naver.com/mysqlpg http://cafe.naver.com/realmysql http://wi ...
- Python之Mysql及SQLAlchemy操作总结
一.Mysql命令总结 1.创建库 create database test1; 2.授权一个用户 grant all privileges on *.* to 'feng'@'%' identifi ...
- 《Android源代码设计模式解析与实战》读书笔记(八)
第八章.状态模式 1.定义 状态模式中的行为是由状态来决定,不同的状态下有不同的行为.当一个对象的内在状态改变时同意改变其行为,这个对象看起来像是改变了其类. 2.使用场景 1.一个对象的行为取决于它 ...
- iOS 块的简单理解
占位 自己主动转载器那小子,你转完了没? 转完了,我开写了哈! Block,就两个事儿,一个是引用,一个是实例,除了实现处.其他地方都是引用. 以此思路.再继续看看引用和实现的定义方式吧. 參考官方文 ...
- POJ1179 Polygon 区间DP
题目大意: 多边形游戏,有N个顶点的多边形,3 <= N <= 50 ,多边形有N条边,每个顶点中有一个数字(可正可负),每条边上或者是“+”号,或者是“*”号.边从1到N编号,首先选择一 ...
- sql server中的悲观锁和乐观锁
https://www.cnblogs.com/chenwolong/p/Lock.html https://www.cnblogs.com/dengshaojun/p/3955826.html ht ...
- [.Net] Excel导入导出各种方式分析
1.引言 1.1解决哪些问题 现在很多公司用的导出基本上采用的通过gridView导出excel,此种导出存在以下几种问题 1.数据量大的时候有时导出有时会让浏览器卡死,因为导出的excel不是真 ...
- Hdu-6119 小小粉丝度度熊 尺取
题面 题意:在一大段时间里,告诉你,你签到了哪些区间,现在再给你m张补签卡,问你最多能实现连续签到多少天 题解:那些时间区间是有重叠的,所以我们先排序离散,并得到哪些区间是可以补签的,这样问题就变成, ...
- 线上出bug了?别怕,这么定位!
摘要: Source Map还是很神奇的. 原文:线上出bug了?别怕,这么定位! 公众号:前端小苑 Fundebug经授权转载并修改,版权归原作者所有. 工作中,生产环境代码是编译后代码,搜集到报错 ...
- postgresql 常规操作以及检查备份
一.建表时,复制源表的信息test=# test=# \d test.t1 Table "test.t1" Column | Type | Collation | Nullable ...