G
N
I
D
A
O
L

天梯赛-摘棉花


天梯赛-摘棉花

#include 
#include 
using namespace std;
int n, m, r, dp[1010] = {0};
struct item
{
    int start, end, e;
    bool operator<(const item &t) { return end < t.end; }
} a[1010];
int main(void)
{
    cin >> n >> m >> r;
    for (int i = 1; i <= m; i++)
        cin >> a[i].start >> a[i].end >> a[i].e;
    sort(a + 1, a + m + 1);
    a[0].e = dp[0] = 0, a[0].end = a[0].start = -r;
    for (int i = 1; i <= m; i++)
        for (int j = 0; j < i; j++)
            if (a[j].end + r <= a[i].start && dp[j] + a[i].e > dp[i])
                dp[i] = dp[j] + a[i].e;
            else if (dp[j] > dp[i])
                dp[i] = dp[j];
    cout << dp[m];
    return 0;
}

文章作者: AnglesD
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 AnglesD !
评论
 上一篇
天梯赛-交通运输 天梯赛-交通运输
赛博坦星球有N(编号从1开始)个城堡,它们由N−1条通路连接起来,并且确保任何两个城堡之间只有一条通路。当需要抵抗外族侵犯的时候,交通是非常重要的。现在需要找到一个城堡用来存储物资,从这个城堡到达其他N−1个城堡的交通容量最大。
2021-07-10
下一篇 
蓝桥杯-皮亚诺曲线 蓝桥杯-皮亚诺曲线
皮亚诺曲线是一条平面内的曲线,给定k阶皮亚诺曲线上的两个点的坐标,请问这两个点之间,如果沿着皮亚诺曲线走,距离是到少?
2021-07-10