顯然網上已經有太多的人寫過這道題的題解了,而且大家都寫得挺詳細的,這裡我就分析乙份**,沒學過的同學在看了別人的部落格之後看這個**分析,應該可以很快解決主席樹的基礎學習
#include
#include
#include
#include
#include
#include
#include
#include
#include
using
namespace
std;
const
int maxn = 100010;
struct node;
node t[maxn*20];
int timer,root[maxn],n,m,rank[maxn],ll,rr,kk;
struct linea[maxn];
bool cmp(const line& a,const line& b)
int query(int x,int y,int k,int l,int r)
int main()
sort(a+1,a+n+1,cmp);//按照x關鍵字從小到大排序
for(register
int i=1;i<=n;i++) rank[a[i].idx]=i;
timer=1;//rank表示原來的第idx位,現在的標號是i
for(register
int i=1;i<=n;i++)
while(m--)
}return
0;}
注:
****於
我自己敲了一遍 otz oyking %%%
對遞迴函式的一點小理解
對於遞迴函式,大家都很熟悉了,對於解析一些複雜資料結構方面,能夠使 非常簡潔,明了。從我的理解來說,遞迴函式一般效率比較低,而且自身特點導致的限制也不少 1.效率低 乙個非常簡單的例子數數吧,從1數到1m。對於迴圈實現的 遞迴實現 對於迴圈實現,函式相當於 對於遞迴實現,相當於 對於第一種實現,不需...
小K對鍊錶的一點理解
馬上就要踏上社會,回想有點羞愧大學這幾年也沒留下什麼。最近需要面試一家公司,所以需要把以前的一些東西複習一下,所以順便就寫乙個部落格吧。這次是寫的對鍊錶的複習。剛回想鍊錶的時候就知道有個頭指標,有乙個當前位置的指標,有乙個專門儲存資料的指標。然後乙個存乙個記錄不斷交替進行就行。其實也就是這樣的。只是...
Android setResult 的一點小問題
在android的activity中,我們經常使用startactivityforresult啟動另外乙個activity,例如從activity a啟動 activity b,那b何時呼叫setresult合適,能不能再finish 之後呼叫?在這裡做一下記錄。直接看下activity的原始碼se...