最近學了一些分塊,來總結一下個人感受:
分塊是什麼呢?就是把乙個大塊拆成若干個小塊進行計算,每個小塊有可能有一些共同特點,或者每個小塊內部是有順序的,這樣,在修改操作的時候,只需要算出兩邊的節點所屬的小塊的編號分別是什麼,然後兩邊的散塊(姑且這麼叫)可以進行暴力修改,而中間的由於題目不同,可以進行不同的操作,比如說區間加,那麼就可以在中間的每個小塊上面直接像線段樹一樣打乙個lazy標記,標記區間增加了多少。然後在查詢的時候就可以直接對散塊進行暴力查詢,然後對整塊運用之前設定的lazy標記,或者保證有序後用二分進行從o(n)進行到o(log(n))的優化。
例題:【bzoj】3343教主的魔法
【bzoj】2453維護佇列
【bzoj】2120: 數顏色
錯題集 (持續更新ing)
a static int method b public int method c final int method d abstract int method a是靜態方法,可以直接用如下形式呼叫 test.method b是普通public函式,必須例項化類,test test new test...
ORACLE 常用技巧(持續更新ing)
1 爬樹 with t as select 00 as code child,1 as code parent from dual union select 01 as code child,00 as code parent from dual union select 02 as code ch...
Beta 討論分析 持續更新ing
標籤 空格分隔 軟工實踐 wonderland 1 關聯賬號介面 hbb 2 標籤檢索介面 hbb 3 近期活躍度 cf hdu 橘子 4 增加個人頭像 點讚排行 閱讀量排行返回資料 近期活躍度快取 cf,hdu 個人題量 定時重新整理 個人能力圖改成近期活躍度 理由 需要的資料量不夠 優先順序co...