avatar
j*n
1
有 n 个 线段, 每个线段表示为 [ x_start_n, x_end_n ]. 然后我想把所有这些线
段都map到 x axis 上, 但不能互相有 overlap. 问题就是最少开几个 x 轴能把这些
线段都map上来, 但互相不能有overlap。
比如:
线段1:[1, 3]
线段2: [ 2, 4]
线段3: [ 3, 5]
线段4: [4, 6]
我最少可以map到2个 x 轴上。 1个x轴 画线段1和线段3, 第2个x轴 画线段2和线段4.
这问题叫啥? 挺像 assignment problem. 又不一样...
avatar
e*e
2
greedy吧。
avatar
j*y
3
这就是clrs上讲的分配教室,用的 greedy method

4.

【在 j*****n 的大作中提到】
: 有 n 个 线段, 每个线段表示为 [ x_start_n, x_end_n ]. 然后我想把所有这些线
: 段都map到 x axis 上, 但不能互相有 overlap. 问题就是最少开几个 x 轴能把这些
: 线段都map上来, 但互相不能有overlap。
: 比如:
: 线段1:[1, 3]
: 线段2: [ 2, 4]
: 线段3: [ 3, 5]
: 线段4: [4, 6]
: 我最少可以map到2个 x 轴上。 1个x轴 画线段1和线段3, 第2个x轴 画线段2和线段4.
: 这问题叫啥? 挺像 assignment problem. 又不一样...

avatar
j*n
4
greedy 能保证最优么。 我去查查 CLRS
avatar
p*2
5
我昨天也感觉greedy,但是不知道能不能一定最优。jetchen看了之后update一下吧。
avatar
m*s
6
greedy
事实上,假设最多overlap的地方被k条线段覆盖,则k个x轴必须且足够。

4.

【在 j*****n 的大作中提到】
: 有 n 个 线段, 每个线段表示为 [ x_start_n, x_end_n ]. 然后我想把所有这些线
: 段都map到 x axis 上, 但不能互相有 overlap. 问题就是最少开几个 x 轴能把这些
: 线段都map上来, 但互相不能有overlap。
: 比如:
: 线段1:[1, 3]
: 线段2: [ 2, 4]
: 线段3: [ 3, 5]
: 线段4: [4, 6]
: 我最少可以map到2个 x 轴上。 1个x轴 画线段1和线段3, 第2个x轴 画线段2和线段4.
: 这问题叫啥? 挺像 assignment problem. 又不一样...

avatar
j*n
8
smart [email protected]@

【在 m******s 的大作中提到】
: greedy
: 事实上,假设最多overlap的地方被k条线段覆盖,则k个x轴必须且足够。
:
: 4.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。