线段树的创建
来源:互联网 发布:淘宝自定义属性 编辑:程序博客网 时间:2024/06/05 10:41
在一天马上要结束的时候 赶紧发博客~~
seg2=1
seg3=1
seg4=1
seg5=2
seg6=1
seg7=3
seg8=1
seg9=2
seg10=0
seg11=0
seg12=4
seg13=1
seg14=0
seg15=0
seg16=0
seg17=0
seg18=0
seg19=0
seg20=0
Process returned 0 (0x0) execution time : 0.484 s
Press any key to continue.
#include <iostream>using namespace std;const int maxind = 256;int segTree[maxind * 4 + 10];int array[maxind];/* 构造函数,得到线段树 */void build(int node, int begin, int end){ if (begin == end) segTree[node] = array[begin]; /* 只有一个元素,节点记录该单元素 */ else { /* 递归构造左右子树 */ build(2*node, begin, (begin+end)/2); build(2*node+1, (begin+end)/2+1, end); /* 回溯时得到当前node节点的线段信息 */ if (segTree[2 * node] <= segTree[2 * node + 1]) segTree[node] = segTree[2 * node]; else segTree[node] = segTree[2 * node + 1]; }}int main(){ array[0] = 1, array[1] = 2,array[2] = 2, array[3] = 4, array[4] = 1, array[5] = 3; build(1, 0, 5); for(int i = 1; i<=20; ++i) cout<< "seg"<< i << "=" <<segTree[i] <<endl; return 0;}seg1=1
seg2=1
seg3=1
seg4=1
seg5=2
seg6=1
seg7=3
seg8=1
seg9=2
seg10=0
seg11=0
seg12=4
seg13=1
seg14=0
seg15=0
seg16=0
seg17=0
seg18=0
seg19=0
seg20=0
Process returned 0 (0x0) execution time : 0.484 s
Press any key to continue.
0 0
- 线段树的创建
- 线段树的创建插入查找删除
- HDU1754 <线段树创建,查找,更新>
- 线段树的知识
- 线段树的建立
- 线段树的题目
- 线段树的建立
- 线段树的应用
- 线段树的建树
- 我的线段树
- 线段树的题目
- 线段树的总结
- 线段树的实现
- 线段树的修改
- 线段树的构造
- 线段树的查询
- 线段树的修改
- 线段树的学习
- ES6学习笔记
- ThreadLocal 使用
- 3
- 深入掌握JMS(五):实战Topic
- 【我的总结】HashMap和HashTable的区别
- 线段树的创建
- Linux 下fastdfs 安装 部署 测试
- 一道JAVA面试,线程安全和静态内部类
- Fragment 与 ViewPager
- 范范(8)
- 腾讯2016实习招聘(西安)部分在线笔试题
- 【codechef】交换字符串S的两个位置上的字符,求有多少对AB不相似
- java中的final关键字所起的作用
- solr学习基础