题意:

输入是一棵包含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. 怎么用python画简单的图-用python进行简单的画图操作
  2. python while循环语句-python循环语句讲解(一):while循环
  3. python函数入参和返回值
  4. 此项目的默认Web访问模式设置为文件共享, 但是无法从路径(此为转贴)
  5. C++ 11 深度学习(六)智能指针综述
  6. 张文宏又爆“金句”:上班开会,要和关系最差的人坐一起……
  7. oracle 正则表达式匹配日期格式,利用正则表达式找出不合符的日期
  8. shell之case和function
  9. EJB3.0学习笔记---JMS/MDB/Pub/Sub/P2P
  10. 内定抽奖小程序_excel怎么制作抽奖小程序?
  11. ccf认证的期刊和会议_ccf推荐AI、CV方向的国际学术期刊、会议
  12. 西安交大计算机2000年山西专业录取分数,西安交通大学分数线-2017年各省各专业录取分数线(历年分数线查询)...
  13. Cacti监控华为交换机不显示端口解决办法
  14. swift学习之旅之 iOS Flurry使用
  15. unity简单技能系统
  16. 股票K线指标算法整理(Java封装工具类)
  17. 计算机c盘能备份数据吗,怎么备份C盘数据
  18. 基于Opencv快速实现人脸识别(图片识别)
  19. python的ai写作_使用Python创建AI比你想象的轻松
  20. cytoscape使用方法_Cytoscape使用方法

热门文章

  1. 【算法系列】非线性最小二乘求解-梯度下降法
  2. Adobe Flash Player 官方离线最新版下载地址
  3. 二维码设计不得不知的小技巧!
  4. 设置应用内字体大小不跟随系统字体大小
  5. Virus.Win32.Ramnit.X,Virus.Win32.Ramnit.a病毒
  6. 在ROS平台上标定普通摄像头与Kinect摄像头
  7. dubbo直连、只订阅、只注册
  8. 数据库系统概论第五版_第四章:数据库安全性
  9. ArcGIS经纬网不穿过图层的具体设置步骤
  10. FCKeditor使用帮助