首页 > 试题广场 >

七彩线段

[编程题]七彩线段
听说彩虹有七种颜色?
一维坐标轴上n条线段,每条线段左端点l,右端点r,颜色为c,从中选m种颜色的互不接触的线段,每种颜色可选多条,所选线段的总长度最长为多少?

输入描述:
第一行2个整数 n, m;
接下来n行,每行3个整数l, r, c。


输出描述:
一个整数,表示所选线段的最长的总长度;若选不了,输出-1;
示例1

输入

4 2
1 3 1
4 5 1
5 8 2
7 9 3

输出

5
示例2

输入

4 3
1 3 1
4 5 1
5 8 2
7 9 3

输出

-1

备注:
1 <= n <= 100000; 1 <= m <= 7;
1 <= l < r <= 1000000000; 1 <= c <= 7;
头像 gyh20
发表于 2020-07-28 21:55:48
状态压缩DP。 先将所有位置离散化,然后在每一个 的 vector 中插入 和 ,当枚举到 时,可以从 转移而来,令当前状态为 ,则 ,其中 表示离散化后某个位置代表的真实位置。 时间复杂度 #include<bits/stdc++.h> #define re //regis 展开全文