Codeforces Round #628 (Div. 2)C - Ehab and Path-etic MEXs
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相关推荐
- 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 题目链接-C. Ehab and Path-etic MEXs Note The tree from the second sample: 题目大 ...
- 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:/ ...
最新文章
- windows 网络规划
- linux rsyslog 系统日志转发
- python的中文含义-python关键字以及含义,用法
- mina 中的IoBufer(一)
- 【知识星球】动态推理网络结构上新,不是所有的网络都是不变的
- 数据分析 超市条码_一样的品牌哪里买?9.9元都不到的品牌牛排、火锅原来在条码商城...
- Computer Network Homework3’ s hard question
- vue积累——另一种走马灯
- 如何让公司的核心价值观落地?
- Android数据储存之SharedPreferences总结
- Android各种dialog
- 斗鱼的sidebar的实现简陋的demo
- 使用EDITPLUS编写C#控制台应用程序
- 使用JNI加载JAVA虚拟机
- Win2008 R2 VDI动手实验系列之六:远程桌面虚拟机配置
- 如何解决360的导航一直绑定为首页(亲测有效)
- 前端原生开发解决方案
- Java log2x函数的实现
- Hexo | NexT打造一个炫酷博客
- 抖音短视频运营规划内容孵化计划书模板
热门文章
- 【第二十九章】 springboot + zipkin + mysql
- Office 365 Pro Plus 离线安装包及自定义部署工具下载地址
- 上传本地代码到github从github下载源码
- 连接池和 Timeout expired异常【转】
- 《软件测试方法与技术实践指南》Java EE篇 文摘
- Asp.net基础概念之 委托
- 深入理解Linux内核01:内存寻址
- extjs 在textfield后面加一个button_用python 做一个简单的MP3
- C++自学24:唯一智能指针(make_unique/unique_ptr/reset/release/get/13.1)
- Netty-2-服务端创建多个handler