pku2352 Stars 線段樹實現

2021-04-19 07:12:17 字數 695 閱讀 2757

第乙個線段樹。。。線段樹真是靈活多變啊。。。看來要好好掌握還要多加練習。。

/*pku2352

name: stars

date: 02-08-08 16:41

description: 統計問題,線段樹

*/#include

#define max 72010

#define pr printf

//  file * pp=fopen("temp.txt","w");

struct nodenodes[max];

void build(int l,int r,int step)

}void insert(int l,int r,int step)

int query(int l,int r,int step)

int mid=(l0+r0)/2;

if(mid<=l)return query(l,r,step*2+1);//在右子樹上

if(mid>=r)return query(l,r,step*2);//左子樹

return query(l,mid,step*2)+query(mid,r,step*2+1); 

}int ans[15003];

int main()

for(i=0;ipr("%d/n",ans[i]);

scanf("%d",&i);

PKU 2352 Stars 裸一維樹狀陣列

題目大意 原題鏈結 就是求每個小星星左小角的星星的個數。座標按照y公升序,y相同x公升序的順序給出 由於y軸已經排好序,可以按照x座標建立一維樹狀陣列 關鍵是要理解樹狀陣列中的c maxn 陣列的構成方式,例如c1 a1,c2 c1 a2,c3 a3,c4 c2 c3 a4,c5 a5,c6 c5 ...

poj2352 Stars 線段樹單點更新

題目在此 傳送門 題意 在乙個座標軸上,有n顆星星,每顆星都有等級,等級的範圍為0 n 1,每顆星的等級為它左下角存在的星星 不包括自身,y座標可以相等 的數量,有幾顆星等級就為幾,然後依次輸出等級0 n 1的星的數量 思路 線段樹,因為是要判斷左下角星星的數量,那麼我們先以y座標公升序排序,如果y...

poj 2352 Stars 樹狀陣列or線段樹

題目大意 在座標上有n個星星,如果某個星星座標為 x,y 它的左下位置為 x0,y0 x0 x 且y0 y。如果左下位置有a個星星,就表示這個星星屬於level x 按照y遞增,如果y相同則x遞增的順序給出n個星星,求出所有level水平的數量。分析 因為輸入是按照按照y遞增,如果y相同則x遞增的順...