摘要:
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1975 思路:可以用A*做,但是要手写堆或者用pb_ds的堆,不然会被卡空间 (原题256M,bzoj64M...) 设出发点为S,结束点为T,边权为val(e),边的出发点为head(e)... 阅读全文
摘要:
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1598 思路:裸的k短路,直接用A*+堆即可 A*就是引入一个估价函数h(x)=f(x)+g(x) 优先选择估价小的去搜索 f(x)就是当前到的x已花费代价 g(x)就是估计x到终点还要多... 阅读全文
摘要:
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2809 思路:很明显忍者之间的关系是一个树形结构 先自底向上枚举管理者x,那么根据题意,我们就要从x的子树中选择尽量多的忍者,且工资总和不超过m 用一个可并堆 到一个点x,就把它的儿子节点... 阅读全文
摘要:
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1455 思路:左偏树练习题 用并查集维护连通,然后开个数组记录每个人是否已被杀死,用可并堆支持合并和求最小值 左偏树是一种支持合并的堆,写起来比手写堆还要短... 只有一个操作,merge... 阅读全文