整理的算法模板合集: ACM模板
实际上是一个全新的精炼模板整合计划
题目链接
https://hydro.ac/d/bzoj/p/2131
是 hydro 的 BZOJ 修复工程 !(我也去领了一点题慢慢修着玩,这题就是我修的嘿嘿嘿)
题目描述
SERKOI 最新推出了一种叫做 “免费馅饼” 的游戏:游戏在一个舞台上进行。舞台的宽度为 w w w 格(从左到右依次用 1 ∼ w 1\sim w 1∼w 编号),游戏者占一格。开始时游戏者可以站在舞台的任意位置,手里拿着一个托盘。下图为天幕的高度为 4 4 4 格时某一个时刻游戏者接馅饼的情景。
游戏开始后,从舞台天幕顶端的格子中不断出现馅饼并垂直下落。游戏者左右移动去接馅饼。游戏者每秒可以向左或者向右移动一格或两格,也可以以站在原地不动。
当馅饼在某一时刻恰好到达游戏者所在的格子中,游戏者就收集到了这块馅饼。当馅饼落在一个游戏者不在的格子里时该馅饼就消失。
写一个程序,帮助我们的游戏者收集馅饼,使得所收集馅饼的分数之和最大。
输入格式
第一行是用空格隔开的两个正整数,分别给出了舞台的宽度 w w w 和馅饼的个数 n n n。
接下来 n n n 行,每一行给出了一块馅饼的信息。由三个正整数组成,分别表示了每个馅饼落到舞台上的时刻 t i t_i ti,掉到舞台上的格子的编号 p i p_i pi,以及分值 v i v_i vi。
游戏开始时刻为 0 0 0 。输入文件中同一行相邻两项之间用一个空格隔开。输入数据中可能存在两个馅饼的 t i t_i ti 和 p i p_i pi 都一样。
输出格式
一个数,表示游戏者获得的最大总得分。
输入样例
3 4
1 2 3
5 2 3
6 3 4
1 1 5
输出样例
12
数据规模与约定
对于 100 % 100\% 100% 的数据, 1 ≤ w ≤ 1 0 8 1\le w\le 10^8 1≤w≤108, 1 ≤ n ≤ 1 0 5 1\le n \le 10^5 1≤n≤105, 1 ≤ t i ≤ 1 0 8 1\le t_i\le 10^8 1≤ti≤108, 1 ≤ p i ≤ w 1\le p_i\le w 1≤pi≤w, 1 ≤ v i ≤ 1000 1\le v_i\le 1000 1≤vi≤1000
Solution
比较简单的一道题。
显然考虑 DP 。
设 f [ i ] f[i]