zoukankan      html  css  js  c++  java
  • 二维线段树模式

     1 #include<iostream>
     2 using namespace std;
     3 const int N=3000;
     4 struct SubNode
     5 {
     6     int left,right;
     7     int value;
     8 }
     9 struct Node
    10 {
    11     int left,right;
    12     SubNode subnode[N];
    13     int value;
    14 }
    15 Node node[N];
    16 int left,right;//要使用区间的左右端点 
    17 void Sub_build(int l,int r,int i,int t)//头节点的i=0; 
    18 {
    19     node[t].subnode[i].left=l;
    20     node[t].subnode[i].right=r;
    21     node[t].subnode[i].value=0;
    22     if(l==r)return;//以点作为基本单位,每个叶子是一个点 
    23     //if(l+1==r)return//以边作为基本单位,每个叶子是一条长度为1的边
    24     int mid=(l+r)>>1;
    25     Sub_build(l,mid,2*i+1,t);
    26     Sub_build(mid+1,r,2*i+2,t);
    27     //Sub_build(mid, r,2*i+2,t);
    28 }
    29 void Main_build(int l,int r,int i)//i从零开始 
    30 {
    31     node[i].left=l;
    32     node[i].right=r;
    33     node[i].value=0;//相应的值 
    34     Sub_build(left,right,0,i);
    35     if(l==r)return;
    36     if(l+1==r)return;
    37     int mid=(l+r)>>1;
    38     Main_build(l,mid,2*i+1);
    39     Main_build(mid+1,r,2*i+2);
    40     //Main_build(mid,r,2*i+2);
    41 }
    42 void query(int l,int r,int left,int right,int i)
    43 {
    44     //按照条件寻找相应的值 
    45     
    46 }
    What I don't dare to say is I can't!
  • 相关阅读:
    bcrypt加密算法原理和应用
    spring security 防止iframes攻击
    angularjs在eclipse下不要随意ctrl+shift+f缩进代码
    第五章 容器之元组
    第五章 容器之列表
    第四章 函数
    第3章 编程概论
    mysql排序分组
    数据表的基本操作
    数据库基本操作
  • 原文地址:https://www.cnblogs.com/sytu/p/3901198.html
Copyright © 2011-2022 走看看