C. Ehab and Path-etic MEXs

题目链接-C. Ehab and Path-etic MEXs


Note
The tree from the second sample:

题目大意
给一颗树,有 n 个顶点,给这个树的边分别编号为 0 (n−2),问怎样编使得对于树上任意两点 u,v 的最大 mex(u,v) 值最小。mex(u,v) 表示由 u 到 v 点的简单路径的长度构成的集合中,没有出现的最小非负整数

解题思路
贪心构造

  • 如果存在某一个节点度数大于等于3(即不为链),那么三个出边分别连0 1 2就可以了,剩下的随便连,这样所有路径都不会同时经过0 1 2这三条边,所以mex最大值就是2
  • 如果没有点度数大于等于3,那么这个树就是一条链,怎么赋值都无所谓了
  • 具体操作见代码

附上代码

#include<bits/stdc++.h>
#define int long long
#define lowbit(x) (x &(-x))
using namespace std;
const int INF=0x3f3f3f3f;
const double PI=acos(-1.0);
const double eps=1e-10;
const int M=1e9+7;
const int N=1e5+5;
typedef long long ll;
typedef pair<int,int> PII;
bool vis[N];
vector<int> vt[N];
int u[N],v[N],ans[N];
signed main(){ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);int n;cin>>n;for(int i=1;i<n;i++){cin>>u[i]>>v[i];vt[u[i]].push_back(v[i]);vt[v[i]].push_back(u[i]);}int cnt=0;for(int i=1;i<n;i++){if(vt[u[i]].size()==1||vt[v[i]].size()==1){vis[i]=1;ans[i]=cnt++;}}for(int i=1;i<n;i++){if(!vis[i])ans[i]=cnt++;}for(int i=1;i<n;i++)cout<<ans[i]<<endl;return 0;
}

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

  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. 京东电商推荐系统实践
  2. 四十四种Javascript技巧大全
  3. esp8266手机端app_OKEX手机端APP提币教程(附视频)
  4. Musik音乐社区整套UI网站模板
  5. 一条SQL查询语句是如何执行的? MySql杂谈
  6. 安装报错_MySQL8.0安装后,报错ERROR 1045 (28000)
  7. 化学人学python有前途吗-转载:python之蟒开启理论计算化学的新时代
  8. 栈的应用1——超级计算器(中缀与后缀表达式)C语言
  9. 英特尔开源技术中心招收ROS2高手两名
  10. 分享PHP获取客户端IP的几种不同方式
  11. Spark REST服务api官网地址
  12. 搜狗微信文章url解码
  13. 给html标签加上鼠标划过小手样式
  14. 均方根误差(RMSE),平均绝对误差(MAE),标准差(Standard Deviation)的对比
  15. json 日期格式化
  16. Technorati 100个最受关注的博客的CMS分布
  17. com.sun.jna.Pointer类的方法
  18. 关于在JS中引入JS文件的JQ方法
  19. 使用JAVA将m3u8转换为mp4格式
  20. Teamvier提示商业用途限制使用的解决方案

热门文章

  1. android 优秀网站
  2. Soul网关Hystrix插件相关知识点扫盲
  3. 2020、2021、2022数控机床数据采集方案汇总
  4. nginx开启http2配置说明
  5. Encountered an improper argument.问题解决办法
  6. 红杉资本:生成式AI 一个创造性的新世界
  7. 论文趋势分析(python+excel+tableau)
  8. project info:
  9. HOUDINI TIP | USING HOU MODULE IN VISUAL STUDIO CODE_手动在vscode里设置houdiniPython模块
  10. 弘辽科技:淘宝卖家该如何有效推广店铺产品?推广前要做什么?