小编sho*_*bhu的帖子

区间树中的最大非重叠间隔

给定一个时间间隔列表,我需要找到最大非重叠间隔的集合.

例如,

如果我们有以下间隔:

[0600, 0830], [0800, 0900], [0900, 1100], [0900, 1130], 
[1030, 1400], [1230, 1400]
Run Code Online (Sandbox Code Playgroud)

另外,时间必须在该范围内[0000, 2400].

最大非重叠间隔集是[0600, 0830], [0900, 1130], [1230, 1400].

我知道最大设定包装是NP-Complete.我想确认我的问题(包含仅包含开始和结束时间的间隔)是否也是NP-Complete.

如果是这样,有没有办法在指数时间内找到最佳解决方案,但有更智能的预处理和修剪数据.或者如果有一个相对容易实现的固定参数易处理算法.我不想去寻找近似算法.

algorithm interval-tree

15
推荐指数
1
解决办法
1万
查看次数

如何在共享内存(C++)中存储stl对象?

我有以下代码模式:

class A {
    double a, b, c;
    ...
};

class B {
    map<int, A> table; // Can have maximum of MAX_ROWS elements.
    ...
};

class C {
    B entries;
    queue<int> d;
    queue<int> e;
    ...
};
Run Code Online (Sandbox Code Playgroud)

现在我想将一个C类型的对象存储在共享内存中,以便不同的进程可以追加,更新和读取它.我怎样才能做到这一点?(注意:我知道如何在共享内存中存储一​​个具有固定大小的简单C数组.另外,请记住B.table可能有任意条目.

c++ stl shared-memory

14
推荐指数
1
解决办法
4528
查看次数

如何使用numpy将矩阵拆分为4个块?

我正在使用python实现Strassen的Matrix Multiplication.在除法步骤中,我们将较大的矩阵划分为较小的子矩阵.是否有内置的numpy函数来分割矩阵?

python split numpy matrix strassen

9
推荐指数
3
解决办法
2万
查看次数

在词典顺序中生成排列与排序?

我有点困惑.如何在词典顺序中生成排列的问题与排序问题有什么不同?有人可以用一个例子向我解释一下吗?谢谢

sorting algorithm permutation lexicographic

3
推荐指数
1
解决办法
3752
查看次数