C - Ehab and Path-etic MEXs

题目链接
简要描述: 从一个点到另一个点出发,所经过的边组成一个集合, 这些集合中所不包含的最小自然数为mex(u,v),要求使所有的mex(u,v)中的最大值最小

方法一:

因为那是树,所以0 和 1必定能在同一条路上, 于是 只要有一个节点入度>2,2就是mex(u,v)最大值, 所以只要有一个节点入度>2,就0 1 2递增摆, 保证了0 1 2永远不会在同一条路上, 其它的值随便填即可,如果所有的节点入度都小于3则随便排

AC代码:

#include<bits/stdc++.h>
#define maxn 200005
struct node
{int f,l;
}a[maxn];
int w,q=0,in[maxn];
int main()
{int n;scanf("%d",&n);w=n-1;int index=n+1;for(int i=1;i<n;i++){scanf("%d%d",&a[i].f,&a[i].l);in[a[i].f]++;in[a[i].l]++;if(in[a[i].f]>2) index=a[i].f;if(in[a[i].l]>2) index=a[i].l;}for(int i=1;i<n;i++){if(a[i].f==index||a[i].l==index)printf("%d\n",q++);else{printf("%d\n",--w);}}
}

方法二:

只需要将每条边的起点和终点出现的次数记录下来, 然后只要是起点或终点中有一个的出现次数为1那么就从0,1,2往大的方向填, 如果不是则从n-2往小的方向填,这样就保证了所有的mex(u,v)中的最大值最小

#include<stdio.h>
int a[100005],b[100005][2];
int main()
{int n,x,y=0;scanf("%d",&n);x=n-1;for(int i=1;i<n;i++){scanf("%d%d",&b[i][0],&b[i][1]);a[b[i][0]]++;a[b[i][1]]++;}for(int i=1;i<n;i++){if(a[b[i][0]]==1||a[b[i][1]]==1)printf("%d\n",y++);else printf("%d\n",--x);}
}

Codeforces Round #628 (Div. 2)C - Ehab and Path-etic MEXs相关推荐

  1. Codeforces Round #628 (Div. 2) F. Ehab‘s Last Theorem dfs树

    传送门 文章目录 题意: 思路: 题意: 给你个nnn个点mmm条边的图,可以选择完成以下两个任务中的一个: (1)(1)(1)找出大小恰好为n\sqrt nn​的一个独立集. (2)(2)(2)找出 ...

  2. Codeforces Round #628 (Div. 2) E. Ehab‘s REAL Number Theory Problem 巧妙的质因子建图

    传送门 文章目录 题意: 思路: 题意: 给你nnn个数,每个数的因子个数不超过777个,选出最少的数使其乘积为平方数. n≤1e5n\le 1e5n≤1e5 思路: 由于因子不超过777个,所以由约 ...

  3. Codeforces Round #628 (Div. 2) C. Ehab and Path-etic MEXs

    C. Ehab and Path-etic MEXs 题目链接-C. Ehab and Path-etic MEXs Note The tree from the second sample: 题目大 ...

  4. Codeforces Round #628 (Div. 2) D. Ehab the Xorcist

    D. Ehab the Xorcist 题目链接-D. Ehab the Xorcist 题目大意 给定两个数字 u 和 v ,构造一个最短的序列a满足a1⊕a2⊕-⊕an=u 并且 a1+a2+-+ ...

  5. Codeforces Round #628 (Div. 2) C. Ehab and Path-etic MEXs(贪心+思维)

    题目链接 思路:这个题做法貌似很多,我用的就是从叶子节点开始赋值,不过听大佬说的从度大于2的节点赋值也可以.比赛的时候wa test19了,特判一下n=2就行了. #include<bits/s ...

  6. Codeforces Round #628 (Div.2) C.Ehab and Path-etic MEXs(树,思维)

    传送门 题意: 给一颗n个结点的数,然后n-1条边,我们要做的就是把0-n-2,这n-1个数赋给n-1条边,然后使得所有MEX(u,v)最大值最小,输出每条边赋的值 MEX(u,v)是u到v这条路径上 ...

  7. Codeforces Round #649 (Div. 2)C. Ehab and Prefix MEXs[排列的构造]

    C. Ehab and Prefix MEXs 题目大意: 解题思路:题目说保证a数组是非递减的,那么如果某位置a[i]!=a[i−1]a[i]!=a[i-1]a[i]!=a[i−1]那么这个位置ii ...

  8. Codeforces Round #563 (Div. 2)-F. Ehab and the Big Finale

    地址:https://codeforces.com/contest/1174/problem/F 思路:思维+分治 官方题解:https://codeforces.com/blog/entry/673 ...

  9. Codeforces Round #563 (Div. 2) F. Ehab and the Big Finale

    后续: 点分治标程 使用father数组 比使用vis数组优秀(不需要对vis初始化) https://codeforces.com/problemset/problem/1174/F https:/ ...

最新文章

  1. windows 网络规划
  2. linux rsyslog 系统日志转发
  3. python的中文含义-python关键字以及含义,用法
  4. mina 中的IoBufer(一)
  5. 【知识星球】动态推理网络结构上新,不是所有的网络都是不变的
  6. 数据分析 超市条码_一样的品牌哪里买?9.9元都不到的品牌牛排、火锅原来在条码商城...
  7. Computer Network Homework3’ s hard question
  8. vue积累——另一种走马灯
  9. 如何让公司的核心价值观落地?
  10. Android数据储存之SharedPreferences总结
  11. Android各种dialog
  12. 斗鱼的sidebar的实现简陋的demo
  13. 使用EDITPLUS编写C#控制台应用程序
  14. 使用JNI加载JAVA虚拟机
  15. Win2008 R2 VDI动手实验系列之六:远程桌面虚拟机配置
  16. 如何解决360的导航一直绑定为首页(亲测有效)
  17. 前端原生开发解决方案
  18. Java log2x函数的实现
  19. Hexo | NexT打造一个炫酷博客
  20. 抖音短视频运营规划内容孵化计划书模板

热门文章

  1. 【第二十九章】 springboot + zipkin + mysql
  2. Office 365 Pro Plus 离线安装包及自定义部署工具下载地址
  3. 上传本地代码到github从github下载源码
  4. 连接池和 Timeout expired异常【转】
  5. 《软件测试方法与技术实践指南》Java EE篇 文摘
  6. Asp.net基础概念之 委托
  7. 深入理解Linux内核01:内存寻址
  8. extjs 在textfield后面加一个button_用python 做一个简单的MP3
  9. C++自学24:唯一智能指针(make_unique/unique_ptr/reset/release/get/13.1)
  10. Netty-2-服务端创建多个handler