Codeforces 120F Spiders
题意:求树上最长路。
解题思路: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相关推荐
- CodeForces 375D Tree and Queries
传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...
- 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...
- 【codeforces 812C】Sagheer and Nubian Market
[题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...
- CodeForces 获得数据
针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...
- codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...
题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...
- CodeForces 595A
题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...
- codeforces A. Jeff and Digits 解题报告
题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...
- Codeforces Round #506 (Div. 3)
Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...
- Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈)
Codeforces Round #417:E. FountainsSagheer and Apple Tree(树上博弈) 标签: codeforces 2017-06-02 11:41 29人阅读 ...
最新文章
- Canvas基础知识
- gnome Nautilus cannot handle computer locations
- PowerDesigner教程系列(三)概念数据模型
- Java中判断数组是否包含某值
- Java内存泄露和内存溢出、JVM命令行工具、.JDK可视化工具、Java Class文件
- 四十二、MOOC课程 | Python中的Scipy模块
- activiti入门2流程引擎API和服务基础设施
- matlab读取suffer,MATLAB调用surfer时出错
- 完美解决Python套接字编程时TCP断包与粘包问题
- 模型房推荐_【自带水乐园】“巴洛克堡城”酒店,人均200+入住家庭房,乐享下午茶+自行车+游船+萌宠乐园!...
- java工具类使用逗号切割字符串_【java】分割字符串工具类,霸气 jdk自带的
- RDKit化学式 分子式搜索
- 软考试题希赛网爬取过程分享一
- NumPy下载与安装
- Mac版本Jmeter下载安装教程
- 管理就是定制度走流程--读后感
- 艺术家艾·克里斯汀·麦克拉维·佩恩gp采访23
- 量子化学计算机理,量子化学计算在反应机理确证中的应用
- java哪些类重写equals方法_Java自定义类中重写equals方法
- win10系统不能复制粘贴的解决方法
热门文章
- 《敏捷软件开发过程及最佳实践》培训总结
- WinXp怎么开机进入Dos
- Excel(16)-好学实用的Index!
- 科发财务凭证登陆出现错误:40002
- ******:突破空格的限制
- ajax同步和异步的区别_纯电动汽车搭载的交流异步电机与永磁同步电机有何区别?...
- 通过hashtable实现dic
- java mysql websocket_javaweb-ajax-websocket-mysql
- GP学习(二)—Executing tools and Accesubg licensing0
- android elf 加固_APK一键自动化加固脚本