题意:求树上最长路。

解题思路:dfs + dp

解题代码:

 1 // File Name: 120F.cpp
 2 // Author: darkdream
 3 // Created Time: 2015年03月24日 星期二 14时51分16秒
 4
 5 #include<vector>
 6 #include<list>
 7 #include<map>
 8 #include<set>
 9 #include<deque>
10 #include<stack>
11 #include<bitset>
12 #include<algorithm>
13 #include<functional>
14 #include<numeric>
15 #include<utility>
16 #include<sstream>
17 #include<iostream>
18 #include<iomanip>
19 #include<cstdio>
20 #include<cmath>
21 #include<cstdlib>
22 #include<cstring>
23 #include<ctime>
24 #define LL long long
25 #define maxn 105
26 using namespace std;
27 int dp[maxn];
28 int n;
29 int mx;
30 vector<int> mp[maxn];
31 void dfs(int k ,int la)
32 {
33     for(int i = 0 ;i < mp[k].size() ;i ++)
34     {
35        if( mp[k][i] == la)
36            continue;
37        dfs(mp[k][i],k);
38        mx = max(mx,dp[k] + dp[mp[k][i]]+1);
39        dp[k] = max(dp[k],dp[mp[k][i]] + 1);
40     }
41 }
42 int main(){
43   freopen("input.txt","r",stdin);
44   freopen("output.txt","w",stdout);
45     int t;
46   scanf("%d",&t);
47   int sum = 0;
48   while(t--)
49   {
50      scanf("%d",&n);
51      for(int i= 1 ;i <= 100 ;i ++)
52          mp[i].clear();
53      memset(dp,0,sizeof(dp));
54      for(int i = 1;i < n;i ++)
55      {
56        int ta , tb ;
57        scanf("%d %d",&ta,&tb);
58        mp[ta].push_back(tb);
59        mp[tb].push_back(ta);
60      }
61      mx = 0 ;
62      dfs(1,0);
63      //printf("***%d\n",mx);
64      sum += mx;
65   }
66   printf("%d\n",sum);
67
68 return 0;
69 }

View Code

转载于:https://www.cnblogs.com/zyue/p/4362858.html

Codeforces 120F Spiders相关推荐

  1. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  2. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  3. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  4. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  5. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  6. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  7. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  8. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

  9. Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)

    Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...

最新文章

  1. Canvas基础知识
  2. gnome Nautilus cannot handle computer locations
  3. PowerDesigner教程系列(三)概念数据模型
  4. Java中判断数组是否包含某值
  5. Java内存泄露和内存溢出、JVM命令行工具、.JDK可视化工具、Java Class文件
  6. 四十二、MOOC课程 | Python中的Scipy模块
  7. activiti入门2流程引擎API和服务基础设施
  8. matlab读取suffer,MATLAB调用surfer时出错
  9. 完美解决Python套接字编程时TCP断包与粘包问题
  10. 模型房推荐_【自带水乐园】“巴洛克堡城”酒店,人均200+入住家庭房,乐享下午茶+自行车+游船+萌宠乐园!...
  11. java工具类使用逗号切割字符串_【java】分割字符串工具类,霸气 jdk自带的
  12. RDKit化学式 分子式搜索
  13. 软考试题希赛网爬取过程分享一
  14. NumPy下载与安装
  15. Mac版本Jmeter下载安装教程
  16. 管理就是定制度走流程--读后感
  17. 艺术家艾·克里斯汀·麦克拉维·佩恩gp采访23
  18. 量子化学计算机理,量子化学计算在反应机理确证中的应用
  19. java哪些类重写equals方法_Java自定义类中重写equals方法
  20. win10系统不能复制粘贴的解决方法

热门文章

  1. 《敏捷软件开发过程及最佳实践》培训总结
  2. WinXp怎么开机进入Dos
  3. Excel(16)-好学实用的Index!
  4. 科发财务凭证登陆出现错误:40002
  5. ******:突破空格的限制
  6. ajax同步和异步的区别_纯电动汽车搭载的交流异步电机与永磁同步电机有何区别?...
  7. 通过hashtable实现dic
  8. java mysql websocket_javaweb-ajax-websocket-mysql
  9. GP学习(二)—Executing tools and Accesubg licensing0
  10. android elf 加固_APK一键自动化加固脚本