Codeforces_734_E
http://codeforces.com/problemset/problem/734/E
每次操作可以把连通的同颜色的点全部换颜色,缩点,找直径,第一遍dfs找起点,第二遍dfs求直径。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std; int c[],d[] = {},n;
vector<int> v[]; void dfs(int x,int pre)
{
for(int i = ;i < v[x].size();i++)
{
int t = v[x][i];
if(t == pre) continue;
d[t] = d[x]+(c[x]^c[t]);
dfs(t,x);
}
} int main()
{
scanf("%d",&n);
for(int i = ;i <= n;i++) scanf("%d",&c[i]);
for(int i = ;i < n;i++)
{
int a,b;
scanf("%d%d",&a,&b);
v[a].push_back(b);
v[b].push_back(a);
}
dfs(,-);
int t = ,maxx = d[];
for(int i = ;i <= n;i++)
{
if(d[i] > maxx)
{
maxx = d[i];
t = i;
}
}
memset(d,,sizeof(d));
dfs(t,-);
maxx = d[];
for(int i = ;i <= n;i++)
{
maxx = max(d[i],maxx);
}
printf("%d\n",(maxx+)/);
return ;
}
Codeforces_734_E的更多相关文章
随机推荐
- 1067 试密码 (20分)C语言
当你试图登录某个系统却忘了密码时,系统一般只会允许你尝试有限多次,当超出允许次数时,账号就会被锁死.本题就请你实现这个小功能. 输入格式: 输入在第一行给出一个密码(长度不超过 20 的.不包含空格. ...
- 推荐中的多任务学习-ESMM
本文将介绍阿里发表在 SIGIR'18 的论文ESMM<Entire Space Multi-Task Model: An Effective Approach for Estimating Po ...
- 01_elementUI tree 插件 去图标
1:elementUI饿了吗前端ui框架,结合vue开发过程中,是不是对tree组件很头疼呢?是不是想自定义图标或者去掉所有图标只留末级checkbox呢? 实现很简单添加几行css代码完美搞定!!! ...
- rsync配置两台服务器之间的文件备份(同步)
rsync配置两台服务器之间的文件备份(同步) 前情提要 环境: 192.168.1.2 主服务器 centos 7.7 192.168.1.3 备份服务器 centos 7.7 rsync 安装(两 ...
- OpenJ_Bailian 2815 城堡问题(DFS)
题目传送门OpenJ_Bailian 2815 描述 1 2 3 4 5 6 7 ############################# 1 # | # | # | | # #####---### ...
- CSS3(5)---伸缩布局(Flex)
CSS3(5)---伸缩布局 有关页面布局之前写过三篇相关文章: 1.CSS(5)---盒子模型 2.CSS(6)---浮动(float) 3.CSS(8)---定位(position) 一.什么是F ...
- MVC 统一验证Token demo
/// <summary> /// 获取token /// </summary> /// <param name="staffId"></ ...
- C# Datatable 添加列
DataTable dt = new DataTable("Datas"); DataColumn dc = null; //dt新增列 dc=dt.Columns.Add(&qu ...
- JAVA封装、继承、多态
封装 1.概念: 将类的某些信息隐藏在类的内部,不允许外部程序访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问. 2.好处: a.只能通过规定的方法访问数据 b.隐藏类的实例细节,方便修改和实 ...
- dp-(LCS 基因匹配)
Human Gene Functions Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 19885 Accepted: ...