09 2013 档案

摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4747题意:有一组序列a[i](1 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 #define lz 2*u,l,mid 11 #define rz 2*u+1,mid+1,r 12 typedef long long lld; 13 const int maxn=222222; 14 int a[maxn], b[maxn],... 阅读全文
posted @ 2013-09-18 20:17 Mr. Ant 阅读(5204) 评论(0) 推荐(0) 编辑
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3721题意:给你一颗n个节点n-1条边的树,每条边都有一个权值,现在让你任意移动一条边然后把这条边连接到任意两个点上,最后问你怎样移动才能使树上相距最远的两个点距离最小。思路:先求出树的最长路,然后枚举移动最长路上的所有边,移走这条边后,原树必定分为不连接的两颗子树,分别求这两颗子树的最长路,然后分别找到两颗子树最长路上靠近中点的点,把这两个点连上刚刚从母树移走的边,再求一遍母树最长路,比较所有结果取最优解即可。注意每次枚举移动后都要把图复原然后继续枚举。 1 #pragma comment(li. 阅读全文
posted @ 2013-09-09 21:28 Mr. Ant 阅读(430) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示