2012年8月18日

hdu 4366 Successor

摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4366线段树题意是要找某个点其子孙中能力值其能力值的中忠诚度最大的。首先可以遍历一遍将树上每个点标记为一维区间上的某个点,且在同一棵子树内的点是连续的一段。将所有点按能力从大到小排序,能力相同的编号小的排在前面,然后扫描一遍,扫描时维护一颗线段树,先查找该点为根节点的子树内的最优值,然后插入该点的忠诚度。维护区间的最大忠诚值就行了。View Code 1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 阅读全文

posted @ 2012-08-18 19:16 aigoruan 阅读(182) 评论(0) 推荐(0)

导航