學習**1
學習**2
關於樹狀陣列,顧名思義,就是數形狀的陣列,主要用於查詢任意兩位之間的所有元素之和,但是每次只能修改乙個元素的值。
概述圖如下(以陣列c代指樹狀陣列,以陣列a代指原陣列)
可看出:
c1=a1
c2=a1+a2
c3=a3
c4=a1+a2+a3+a4
c5=a5
c6=a5+a6
c7=a7
c8=a1+a2+a3+a4+a5+a6+a7+a8
……一般規律:cn=(an-2k+1)+…+an,其中,k取使得2k不大於an的最大值。
快速獲取2k的方法如下:
lowbit
(int x)
樹狀陣列的c++實現如下:
class
treearray
intlowbit
(int x)
void
update
(int pos)
}int
query
(int pos)
return res;
}}
那些年我看到的奇怪sql
基礎表 日誌表 臨時表 物件表 流水表 歷史記錄表 create table 顧客待裁決 顧客編號 int 11 unsigned not null auto increment,許可 varchar 20 default null,顧客姓名 varchar 30 default comment 姓...
那些年我看到過的牛逼設計
redux 只有action reducer和store。看起來就是flux的變種 vuex同樣是單中心store 單線資料流 事件驅動。特點在於把業務邏輯也分了層 actions和mutations,action是業務邏輯,mutation是資料邏輯。沒見過大專案,不知道這個分層好處在哪,但是 似...
那些年的那些 錯誤
這裡是乙個總結,也可以是大家的提醒 而且,我才不會告訴你是哪題呢 double ans 0x7ffffff void dfs double now,int num,int sum if now sum return 看到錯誤了嗎?沒有?咦?為什麼now與sum比較呀?int為什麼與double比較呢...