题目 分析 f [ i ] 表 示 跳 到 i 时 的 最 大 值 f[i]表示跳到i时的最大值 f[i]表示跳到i时的最大值,很容易可以得到 f [ i ] = m a x { f [ l a s t ] } + s [ i ] f[i]=max\{f[last]\}+s[i] f[i]=max{f[last]}+s[i],然而也很容易知道需要用单调队列维护,但是求到答案又能怎么
题目大意: 题目链接:https://www.luogu.org/problemnew/show/P3957 跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一。 跳房子的游戏规则如下: 在地面上确定一个起点,然后在起点右侧画 n n n个格子,这些格子都在同一条直线上。每个格子内有一个数字(整数),表示到达这个 格子能得到的分数。玩家第一次从起点开始向右跳,跳到起点右侧
存在n+1个房间,每个房间依次为房间1 2 3…i,每个房间都存在一个传送门,i房间的传送门可以把人传送到房间pi(1<=pi<=i),现在路人甲从房间1开始出发(当前房间1即第一次访问),每次移动他有两种移动策略: A. 如果访问过当前房间 i 偶数次,那么下一次移动到房间i+1; B. 如果访问过当前房间 i 奇数次,那么移动到房间pi; 现在路人甲想知道移动到房间n+1一共需要多少次移动;