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:
题目大意
给一颗树,有 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相关推荐
- Codeforces Round #628 (Div. 2) F. Ehab‘s Last Theorem dfs树
传送门 文章目录 题意: 思路: 题意: 给你个nnn个点mmm条边的图,可以选择完成以下两个任务中的一个: (1)(1)(1)找出大小恰好为n\sqrt nn的一个独立集. (2)(2)(2)找出 ...
- Codeforces Round #628 (Div. 2) E. Ehab‘s REAL Number Theory Problem 巧妙的质因子建图
传送门 文章目录 题意: 思路: 题意: 给你nnn个数,每个数的因子个数不超过777个,选出最少的数使其乘积为平方数. n≤1e5n\le 1e5n≤1e5 思路: 由于因子不超过777个,所以由约 ...
- Codeforces Round #628 (Div. 2)C - Ehab and Path-etic MEXs
C - Ehab and Path-etic MEXs 题目链接 简要描述: 从一个点到另一个点出发,所经过的边组成一个集合, 这些集合中所不包含的最小自然数为mex(u,v),要求使所有的mex(u ...
- 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+-+ ...
- Codeforces Round #628 (Div. 2) C. Ehab and Path-etic MEXs(贪心+思维)
题目链接 思路:这个题做法貌似很多,我用的就是从叶子节点开始赋值,不过听大佬说的从度大于2的节点赋值也可以.比赛的时候wa test19了,特判一下n=2就行了. #include<bits/s ...
- 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这条路径上 ...
- 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 ...
- Codeforces Round #563 (Div. 2)-F. Ehab and the Big Finale
地址:https://codeforces.com/contest/1174/problem/F 思路:思维+分治 官方题解:https://codeforces.com/blog/entry/673 ...
- Codeforces Round #563 (Div. 2) F. Ehab and the Big Finale
后续: 点分治标程 使用father数组 比使用vis数组优秀(不需要对vis初始化) https://codeforces.com/problemset/problem/1174/F https:/ ...
最新文章
- 京东电商推荐系统实践
- 四十四种Javascript技巧大全
- esp8266手机端app_OKEX手机端APP提币教程(附视频)
- Musik音乐社区整套UI网站模板
- 一条SQL查询语句是如何执行的? MySql杂谈
- 安装报错_MySQL8.0安装后,报错ERROR 1045 (28000)
- 化学人学python有前途吗-转载:python之蟒开启理论计算化学的新时代
- 栈的应用1——超级计算器(中缀与后缀表达式)C语言
- 英特尔开源技术中心招收ROS2高手两名
- 分享PHP获取客户端IP的几种不同方式
- Spark REST服务api官网地址
- 搜狗微信文章url解码
- 给html标签加上鼠标划过小手样式
- 均方根误差(RMSE),平均绝对误差(MAE),标准差(Standard Deviation)的对比
- json 日期格式化
- Technorati 100个最受关注的博客的CMS分布
- com.sun.jna.Pointer类的方法
- 关于在JS中引入JS文件的JQ方法
- 使用JAVA将m3u8转换为mp4格式
- Teamvier提示商业用途限制使用的解决方案
热门文章
- android 优秀网站
- Soul网关Hystrix插件相关知识点扫盲
- 2020、2021、2022数控机床数据采集方案汇总
- nginx开启http2配置说明
- Encountered an improper argument.问题解决办法
- 红杉资本:生成式AI 一个创造性的新世界
- 论文趋势分析(python+excel+tableau)
- project info:
- HOUDINI TIP | USING HOU MODULE IN VISUAL STUDIO CODE_手动在vscode里设置houdiniPython模块
- 弘辽科技:淘宝卖家该如何有效推广店铺产品?推广前要做什么?