今天是五一,晚上學c++分治演算法
二分查詢跨度大,速度快,列舉的跨度為1,所以慢
二分是折半的,速度logn,非常快,基礎**如下
引數atarget是目標數,adata是數列,n是陣列長度
如果按照列舉的方法,是這樣的:
bool
search
(int atarget,
int adata,
int n)
這樣對於小範圍的資料是可以處理的
但是:如果要遍歷兩億個數呢?而且碰巧要找到的數是兩億減一的數呢?
C 學習(一五一)hwnd hdc hglrc
hwnd h是型別描述,表示控制代碼 handle wnd是變數物件描述,表示視窗,所以hwnd表示視窗控制代碼。microsoft windows執行環境,通過給應用程式中的每個窗體和控制項分配乙個控制代碼來標識他們。hwnd屬性用於windows api呼叫。許多windows執行環境函式需要活...
學習筆記 樹分治
樹分治用於解決有關路徑的問題。樹分治分為點分治和邊分治 其實還有一種叫 鏈分治 是樹的路徑剖分思想的更高階的體現,一般鏈分治的題目都可以用路徑剖分解決 點分治就是每次找到重心,然後把重心去掉,對分成的每兩棵樹之間分別統計路徑資訊 以重心的每個相鄰點為根,遍歷整棵子樹即可得到這個根到每個結點的統計資訊...
學習筆記 CDQ分治
分治,考慮前一半對後一半的影響。和一般分治不太相同的思想是,一般分治不分誰對誰的影響,跨mid的都要統計。全域性變數統計 而cdq貌似要落腳到前一半對後一半的影響上,也就是貢獻在後一半統計,由前一半產生。大概使用情況 1.三維偏序 2.優化dp 3.這個裡面有。注意處理三維情況的巧妙性。heoi20...