JZOJ 1752. 无聊的草稿
2017-06-19 20:27
218 查看
Description
图中有N个点,每两点间只有唯一的路径,对于这样一个给定的图,最大的“毛毛虫”会有多大。毛毛虫包含一条主链,毛毛虫中的节点,要不在主链上,要么和主链上某节点相邻,如下图所示有两只合法的毛毛虫,点数越多,毛毛虫越大。Input
输入文件第一行两个整数N,M(N≤1000000)接下来M行,每行两个整数a, b(a, b≤N)
你可以假定没有一对相同的(a, b)会出现一次以上。
Output
一个整数ans,表示最大的毛毛虫的大小。Sample Input
5 41 2
1 3
4 1
5 1
Sample Output
5Data Constraint
Hint
【数据规模】1. 对于20%的数据,N≤200
2. 对于40%的数据,N≤5000
3. 对于100%的数据,N≤10^6
分析
其实就是找树的直径。代码
#include <algorithm> #include <iostream> #include <cstring> #include <complex> #include <cstdio> #include <queue> #include <cmath> #include <map> #include <set> #define N 1000005 #define INF 0x7fffffff #define sqr(x) ((x) * (x)) #define pi acos(-1) int read() { int x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9'){if (ch == '-') f = -1; ch = getchar();} while (ch >= '0' && ch <= '9') {x = x * 10 + ch - '0'; ch = getchar();} return x * f; } struct NOTE { int to,next; }e[N * 2]; int next ; int cnt; int f ; int d ; void add(int x,int y) { e[++cnt] = (NOTE){y, next[x]}; next[x] = cnt; e[++cnt] = (NOTE){x, next[y]}; next[y] = cnt; } int n,m; bool vis ; int ans; int x; void dfs(int p, int sum, int dep) { vis[p] = false; int s; if (dep == 1) s = d[p]; else s = d[p] - 1; for (int i = next[p]; i; i = e[i].next) { if (vis[e[i].to]) dfs(e[i].to, sum + s, 0); } if (sum > ans) ans = sum, x = p; } int main() { n = read(); m = read(); for (int i = 1; i <= m; i++) { int x = read(), y = read(); add(x,y); d[x]++; d[y]++; } memset(vis, 1, sizeof(vis)); ans = 0; dfs(1,1,1); memset(vis, 1, sizeof(vis)); ans = 0; dfs(x,1,1); printf("%d\n",ans); }
相关文章推荐
- JZOJ1752. 无聊的草稿
- jzoj P1752 无聊的草稿___dfs+树的最长链
- JZOJ4555【NOI2016模拟6.20】没有强联通分量的无聊世界 利用Dag性质的简单Dp
- 【JZOJ 3871】 无聊的游戏
- 无聊的草稿
- 基础, 无聊做做c基础题
- Jzoj4307 喝喝喝
- 看看吧无聊的时候写的
- JZOJ 5396. 【NOIP2017提高A组模拟10.6】Blocks
- 1752. 选择
- [JZOJ5378]闷声刷大题
- hdu--2565--打印放大的"X”(每行X后面的空格不能输出,真是无聊)
- [jzoj1016][poj3321]苹果树(dfs序+树状数组维护)
- 写点东西放在草稿夹里面,几年后看看几年前的自己,哈哈
- JZOJ 5404. 【NOIP2017提高A组模拟10.10】Graph
- U31安装Mac OS X Lion (草稿)
- Jzoj4724 斐波那契(待填)
- 无聊写的判断字符串里面的字符“类型”
- jzoj5402 【NOIP2017提高A组模拟10.8】God Knows
- 【草稿】ActiveMQ and ActiveMQ-CPP