题目 3157

「Fence」 围栏

查看题解 ↗GitHub ↗如何评测
题号
3157
时间限制
1000 ms
内存限制
128 MB
标签
动态规划队列

有N块木板从左到右排成一行,有M个工匠对这些木板进行粉刷,每块木板至多被粉刷一次。

第 i 个木匠要么不粉刷,要么粉刷包含木板 SiS_i 的,长度不超过 LiL_i 的连续的一段木板,每粉刷一块可以得到 PiP_i 的报酬。

不同工匠的SiS_i不同。

请问如何安排能使工匠们获得的总报酬最多。

输入格式

第一行包含两个整数N和M。

接下来M行,每行包含三个整数Li,Pi,SiL_i,P_i,S_i。

输出格式

输出一个整数,表示结果。

数据范围

1≤N≤160001 \le N \le 16000,
1≤M≤1001 \le M \le 100,
1≤Pi≤100001 \le P_i \le 10000

输入样例:

文本
8 4
3 2 2
3 2 3
3 3 5
1 1 7 

输出样例:

文本
17

来源

  • 《算法竞赛进阶指南》
  • acwing 可能含有视频讲解

数据下载

题目 3157 的公开数据

正在读取文件列表…

常用命令

题目 3157 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。