10 2014 档案
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5071思路:模拟题,没啥可说的,移动的时候需要注意top的变化。#include #include #include #include using namespace std;const int MAX_...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5073思路:一开始忘了排序,wa了好几发。。。选择区间长度为N - K的连续的数, 然后其余的K个数都移动到这N-K个数的中心就可以,公式为ans = min(ans, pos[i] - center_p...
阅读全文
摘要:题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5374思路:题目的意思是求树上的两点,使得树上其余的点到其中一个点的最长距离最小。可以想到这题与树直径有关,我们可以这样做,首先求出树的直径,然后取出树的中点以及与该中点...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4717思路:三分时间求极小值。#include #include #include #include #include using namespace std;const int MAX_N = (300...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4547思路:这题的本质还是LCA问题,但是需要注意的地方有:1、如果Q中u,v的lca为u,那么只需一步u->...->v。2、如果Q中u,v的lca为v,那么需abs(dist[u] - dist[v]...
阅读全文
摘要:题目链接:http://poj.org/problem?id=2763思路:首先求出树上dfs序列,并且标记树上每个节点开始遍历以及最后回溯遍历到的时间戳,由于需要修改树上的某两个节点之间的权值,如果parent[v] = u, 那么说明修改之后的v的子树到当前根的距离都会改变,由于遍历到v时有开始...
阅读全文
摘要:题目链接:http://poj.org/problem?id=3728思路:题目的意思是求树上a -> b的路径上的最大收益(在最小值买入,在最大值卖出)。我们假设路径a - > b 之间的LCA(a, b) = f, 并且另up[a]表示a - > f之间的最大收益,down[a]表示f - > ...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2489思路:由于N, M的范围比较少,直接枚举所有的可能情况,然后求MST判断即可。#include #include #include #include #include #include using ...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4568思路:首先spfa预处理出每对宝藏之间的最短距离以及宝藏到边界的最短距离,然后dp[state][u]表示当前在点u,状态为state的最短距离,然后更新就行。#include #include #...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4784思路:建图,对于同一个universe来说,就按题目给的条件相连,对于相邻的universe,连时间花费为1,费用为0的边,需要注意的是,对于起始点和终点只需在universe 0连边就可以了,对于...
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4770思路:由于最多只有15个".",可以直接枚举放置的位置,然后判断是否能够全部点亮即可。需要注意的是,有一个特殊的light,也需要枚举它的位置以及放置的方向。#include #include #i...
阅读全文
摘要:struct BigNum{ char a[MAX]; int lenth; bool flag;};BigNum change_to_BigNum(int n);BigNum BigNum_abs(BigNum BN);bool operator (BigNum BN1,BigN...
阅读全文