摘要:
题意:给出一颗n个节点有边权的树 和m个军队所在的位置 军队从某节点移动到相邻节点要花费边长度的时间 求最少要多少时间使得根节点(编号为1)到每个叶子的路径上最少有一支军队(根节点不能有军队)题解:我们可以二分答案 那么问题就转换为 在t的时间内军队能否控所有点显然一支军队在到根节点之前 如果能继续向上走 那么这支军队能控制的点就会更多维护bo[i]表示 从该点到所有该点子树的叶子节点路径上是否都有军队对于每个不能走到根节点的军队 就让他尽量向上走 直到不能走为止 将该点的bo值赋为1然后可以用拓扑算出bo数组这样 根节点的所有儿子中bo为1的点就不用管 而剩下的点就需要派能走到根节点的军队到 阅读全文
摘要:
题意:给n个点的海拔h[i](不同点海拔不同) 两点的距离为abs(h[i]-h[j]) 有a、b两人轮流开车(只能往下标大的地方开) a每次会开到里当前点第二近的点 b每次会开到离当前点最近的点(距离相同h小的近) 给定x 如果a或b继续开距离和会大于x就不继续开。求两个问题1、给定x=x0求从哪点开始开能使a开的距离:b开的距离最小 不值相同取海拔高的2、给出m个询问 每个询问给定x1、y1 求从x1开始走且x=y1 a能走的距离和b能走的距离题解:不难发现(其实我一开始没发现 看了题解才知道TAT)从固定某点i走到的后若干个点和x没关系我们可以预处理出从i点走j个点 a、b走的距离 由于 阅读全文