环形DP
tomjobs
别慌,慌也没用
展开
-
H - Lighthouses Gym - 102576H(区间DP,环形DP)
题意: 有一些房子,构成了一个凸包。 房子之间有铁路。你可以从一个房子出发遍历这些铁路,但是要求路径不能交叉,不能走走过的点。 求最多走多少距离。 思路: 环上的区间DP。 将房子看做圆,走了i−>ji->ji−>j后,就相当于把圆分为了两半,之后只能走其中一半。 定义f[i][j][0/1]f[i][j][0/1]f[i][j][0/1]为还可以逆时针走(i,j)(i,j)(i,j)部分的点,且下一次出发的点为i(j)i(j)i(j)的最大所走距离。 因为我们规定了是逆时针方向的走,相.原创 2020-10-12 13:33:35 · 385 阅读 · 0 评论 -
ACWING289. 环路运输(环形dp,单调队列)
在一条环形公路旁均匀地分布着N座仓库,编号为1~N,编号为 i 的仓库与编号为 j 的仓库之间的距离定义为 dist(i,j)=min(|i-j|,N-|i-j|),也就是逆时针或顺时针从 i 到 j 中较近的一种。 每座仓库都存有货物,其中编号为 i 的仓库库存量为 Ai。 在 i 和 j 两座仓库之间运送货物需要的代价为 Ai+Aj+dist(i,j)。 求在哪两座仓库之间运送货物需要的代价...原创 2019-10-12 23:20:59 · 263 阅读 · 0 评论 -
ACWING288. 休息时间(环形DP)
在某个星球上,一天由 N 个小时构成,我们称0点到1点为第1个小时、1点到2点为第2个小时,以此类推。 在第 i 个小时睡觉能够恢复Ui点体力。 在这个星球上住着一头牛,它每天要休息B个小时。 它休息的这B个小时不一定连续,可以分成若干段,但是在每段的第一个小时,它需要从清醒逐渐入睡,不能恢复体力,从下一个小时开始才能睡着。 为了身体健康,这头牛希望遵循生物钟,每天采用相同的睡觉计划。 另外,因为...原创 2019-10-12 20:07:50 · 235 阅读 · 0 评论