zoukankan      html  css  js  c++  java
  • [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
    ",s.size());
    	for(int i=0;i<s.size();i++) printf("%d %d
    ",ct,s[i]);
    }
    
    我是咸鱼。转载博客请征得博主同意Orz
  • 相关阅读:
    DDL讲解
    hadoop-04
    hadoop03
    记录一次hadoop自己 埋的坑
    flask_apscheduler一款定时任务器
    flask通过内存导出excel
    Matplotlib不能显示中文问题
    hadoop02
    hadoop常见shell命令
    hadoop1
  • 原文地址:https://www.cnblogs.com/sdfzhsz/p/9275293.html
Copyright © 2011-2022 走看看