题意:

输入是一棵包含n个节点的树,包括n-1条边。编号为:0~n-2
问,如何给边编号,使得任意MEx(u,v)最小。
MEX(u,v)表示除了u - v路径上点的集合之外(0~n-2)的数中最小的数
这里有点绕,具体解释下。就是全部点的集合为:0~n-2 设为全集S
若设u~v途径的边的编号的集合为Q
则所求就是在全集S中求Q的补集中的最小值,使得这个数最小即可。

思路

1.所有节点度都不超过2的情况下,树是一条链,无论如何编号,都可行。
2.所存在接度大于2的情况,只需要找到一个度大于等于3的边,依次编号0,1,2即可
这样保证任意两个MEX(u,v)都是0,1,2中的一个。
理解清0,1,2的意义就可以理解清题意。

代码:

#include<stdio.h>
#include<string.h>
#define ll long long
const int N=1e5+10;
ll du[N],u[N],v[N];   //du记录度,u,v记录输入顺序
int n,sum,ans;
int main()
{scanf("%d",&n);for(int i=1;i<n;i++){    //统计每结点的度scanf("%lld%lld",&u[i],&v[i]);du[u[i]]++;du[v[i]]++;}int flag=0;     //判读是否有度大于2的节点for(int i=1;i<=n;i++){if(du[i]>2){flag=i;break;  //记录该接待你出现在第几项}}if(!flag){    //没有则说明全图是一张链for(int i=0;i<n-1;i++)printf("%d\n",i);}else{ans=0,sum=3;for(int i=1;i<n;i++){if((u[i]==flag||v[i]==flag)&&ans<3){      //把标记的的地方依次放上0,1,2,其余随意printf("%d\n",ans++);}elseprintf("%d\n",sum++);}}return 0;
}

Ehab and Path-etic MEXs(思维题)相关推荐

  1. [Codeforces Round #628]1325C - Ehab and Path-etic MEXs[思维][图]

    1325C - Ehab and Path-etic MEXs[思维][图] time limit per test memory limit per test input output 1 seco ...

  2. CF628 C.C. Ehab and Path-etic MEXs(思维+拓扑排序)

    CF628 C.C. Ehab and Path-etic MEXs(思维+拓扑排序) 题目链接 题意:没咋看懂,它的题解是度数最高的分配后其他的随便分配. 我做的是,从子节点往上面,依次加,拓扑排序 ...

  3. little w and Soda(思维题)

    链接:https://ac.nowcoder.com/acm/contest/297/A 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  4. ZOJ 3829 贪心 思维题

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829 现场做这道题的时候,感觉是思维题.自己智商不够.不敢搞,想着队友智商 ...

  5. yoyo思维题(困难) 组合数学

    问题 B: yoyo思维题(困难) 时间限制: 1 Sec  内存限制: 256 MB 提交: 11  解决: 3 [提交][状态][讨论版][命题人:qianyouyou][Edit] [TestD ...

  6. 1884: 三个家庭(思维题)

    1884: 三个家庭 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 244 Solved: 81 [Submit][Status][Web Board] ...

  7. 思维题 UVA 10881 Piotr's Ants

    题目传送门 1 /* 2 题意:在坐标轴上一群蚂蚁向左或向右爬,问经过ts后,蚂蚁的位置和状态 3 思维题:本题的关键1:蚂蚁相撞看作是对穿过去,那么只要判断谁是谁就可以了 4 关键2:蚂蚁的相对位置 ...

  8. CF--思维练习-- CodeForces - 215C - Crosses(思维题)

    ACM思维题训练集合 There is a board with a grid consisting of n rows and m columns, the rows are numbered fr ...

  9. ACM思维题训练 Section A

    题目地址: 选题为入门的Codeforce div2/div1的C题和D题. 题解: A:CF思维联系–CodeForces -214C (拓扑排序+思维+贪心) B:CF–思维练习-- CodeFo ...

  10. CodeForces - 1102A(思维题)

    https://vjudge.net/problem/2135388/origin Describe You are given an integer sequence 1,2,-,n. You ha ...

最新文章

  1. Face Recognition for the Happy House-v3
  2. Android数据库高手秘籍(三)——使用LitePal升级表
  3. SAP 电商云 Spartacus UI Quick Order 对应的 CMS 内容
  4. excel如何输入毫秒级时间
  5. 三星app图标不见了怎么恢复_电脑任务栏显示桌面图标不见了怎么办
  6. JavaScript闭包初相识
  7. 视频内容理解核心技术解密:Partial re-ID 在成片体检中的技术实践
  8. pytorch自带网络_一篇长文学懂 pytorch
  9. 百度内容审查做敏感词库筛选
  10. wheeltech惯导模块使用
  11. WebView内通过浏览器打开链接
  12. 互联网运营常用8大数据分析模型
  13. log4j2配置详解(节点和输出格式)
  14. python语言月份缩写_[宜配屋]听图阁
  15. Linux-DNS学习记录01-安装部署
  16. 关于web项目log日志指定输出文件位置配置
  17. CSS z-index属性层重叠顺序
  18. MemoryAnalyze分析weblogic的phd文件
  19. nginx pc 端和 手机移动端分离
  20. 女友要悄悄知道的10个事情....(转载)

热门文章

  1. 高防IP适合那些行业呢?
  2. 【每周话题第七期】你是#新生代农民工#吗?你赞同IT从业者被纳入新生代农民工吗?
  3. SSD-2(代码部分介绍)
  4. 计算机数控机床工作原理,数控机床的组成和工作原理概述(PDF 37页)
  5. 更学教育:B2C和C2C电商模式究竟有何区别?
  6. Virtual Box安装Linux
  7. 干货 | 80篇+网络安全面试经验帖
  8. 一文理解Flink 水位线(Flink Watermark)
  9. ATM系统--分析类图
  10. 电脑如何识别服务器的硬盘分区,bios如何识别新硬盘分区