#include#include#includeusing namespace std;
struct node
;node t[100000];
node null;
int base[100000];
void push_up(int root,int l,int m,int r)
void build(int root,int l,int r)
int mid=(l+r)>>1;
build(root<<1,l,mid);
build(root<<1|1,mid+1,r);
push_up(root,l,mid,r);
}void change(int root,int l,int r,int al,int ar,int k)//單點修改,只不過是強迫症寫成立類似區間修改額樣子
int mid=(l+r)>>1;
change(root<<1,l,mid,al,ar,k);
change(root<<1|1,mid+1,r,al,ar,k);
push_up(root,l,mid,r);
return ;
}node check(int root,int l,int r,int al,int ar)
void init()
int main()
} return 0;
}//ps:因為沒有資料測評,所以可能會有一些小bug,但大體框架就是介樣的辣
西安段素掃瞄線
如果我們要統計乙個由多個矩形重疊組成的圖形的面積。暴力太麻煩,而計算機又不能想人一樣計算,那怎麼求解呢?我們可以使用掃瞄線fa 想象一下,有一條線,按照乙個順序 從左到右呀,從上到下呀.掃瞄乙個圖形。我們很容易可以得到,兩條最近的相鄰線段間,所包含的這乙個圖形的面積是規整的矩形,又因為這些矩形的長o...
西安的50件事情
1 盛唐人口達到100萬,並且是人類歷史上第乙個達到百萬的城市 2 看地圖就會發現,有8條河組成一種很奇怪的圖形環繞著這座偉大的城市 3 唐朝的時候,皇帝住在大明宮,因為這裡是西安城區地勢最高的地方,可以鳥瞰全城 4 西安有條龍脈,頭向北,飲渭河之水,尾朝南,吸天地之靈氣,從秦嶺裡衝出,龍頭就是今天...
尋找600851475143的最大素因子的快速演算法
這是一道作業題.參考的是stackoverflow的第3個回答,這個方法非常好,據同學在群裡說,用那種遍歷到sqrt n 的辦法,需要將近一分鐘.r速度是很慢的,但是得到這個結果不到0.1s.其實核心思路很簡單 從小到大的素數,如果i是n的因子,就一直除以i,直到n不再包含因子i.那麼之後最小的因子...