C++分段树:线段覆盖的代码

296 阅读1分钟

下面的内容是关于C++分段树:线段覆盖的内容,应该对码农们也有用途。

#include "stdafx.h" #include

using namespace std;

struct Node { int left; int right;

void creatTree(int index, int left, int right) { segTree[index].left = left; segTree[index].right = right; segTree[index].isCover = 0;

if (left+1 < right)
{
    int mid = (left + right) / 2;

}

}

void insert(int index, int left, int right) { if (segTree[index].isCover == 1) return;

if (segTree[index].left == left && segTree[index].right == right)
{
    segTree[index].isCover = 1;
    return;
}


int mid = (segTree[index].left + segTree[index].right) / 2;

if (right <= mid)
else if (left >= mid)
else
{
}   

}

int count(int index) { if (segTree[index].left == segTree[index].right) return 0; else if (segTree[index].isCover == 1) return segTree[index].right - segTree[index].left; else }

int segment[10][2] = { 5, 8, 10, 45, 0, 7, 2, 3, 3, 9, 13, 26, 15, 38, 50, 67, 39, 42, 70, 80 };

void main() { { insert(0,segment[i][0],segment[i][1]); } printf("the cover length is %dn", count(0));

getchar();

}