摘要:
题目 P1613 跑路 简化题意 给你一个图,你可以在一秒内移动 $2 ^ i$ 个单位,问你从 $1$ 到 \(n\) 最少需要多长时间 思路 倍增? \(f[i][j][k]\) 表示从 \(i\) 到 \(j\) 是否存在一条长为 $2 ^ k$ 的路径。 用 类似 \(Floyd\) 和倍增 阅读全文
摘要:
题目 P1801 黑匣子 简化题意 给你一堆数,每次让你求前多少个数中的第 \(k\) 小的数。 思路 大根堆 +小根堆。 没有询问前把数都加到大根堆里,有询问的时候当大根堆里的元素不少于 \(k\) 的时候就把堆顶的元素放到小跟堆里,最后小根堆堆顶的元素就是答案,最后要把小根堆堆顶的元素放回大根堆 阅读全文
摘要:
题目 The merchant 简化题意 给你一棵树,点有点权,到达一个点你可以花费该点的点权买入一个东西,然后在另一个点把这个东西卖出(卖出的时候手上必须有东西),只能买入卖出一次,问你从一个点 \(u\) 到一个点 \(v\) 的路径上能获得的最大收益。 思路 倍增。 除了正常倍增需要维护的东西 阅读全文
摘要:
题目 P1717 钓鱼 简化题意 有 \(n\) 个池塘排在一条直线上,起始在 $1$ 号池塘,在池塘之间移动需要花费时间,在每个池塘单位时间钓到的鱼不同并且每吊一个单位时间的鱼这个量会减少。 思路 可以发现不可能从编号大的池塘走到编号小的池塘,因为往回走纯粹浪费时间不如一开始先不去编号大的池塘,先 阅读全文