原创 樹狀數組總結二

樹狀數組小結 分類:算法學習 | 作者:酷~行天下 | 發表於2011/07/10 1條評論 513 views 最近做了HDU幾道樹狀數組的題,小小總結一下……   樹狀數組是一個查詢和修改複雜度都爲log(n)的數據結構,假設

原创 樹狀數組專題(三)POJ2481

//這裏有幾個需要學習的東西. //1..如何對結構體進行調用排序函數的operator的操作構造 //2..如何把這個題目轉換成爲樹狀數組的思維.. //3..如何去記錄一個數組排序前的位置..在結構體裏面加一個元素記錄原來的位置. #

原创 樹狀數組專題(十二)之hdu2227

//題目大意前面hdu4000處理過三元素的遞增序列. //這裏要求輸出所有遞增的子序列.. //題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2227 //本來處理情況也可以那樣..但是由

原创 樹狀數組專題(十)之hdu4000

//題目大意:給一串數字,找出所有滿足a[x]<a[z]<a[y] //其中x,y,z滿足x<y<z; //採用用全部可能的減去不可能的就是答案的思想 //a[i] 後面有t個比a[i]大.則t*(t-1)/2就是可能的 //再減去形成x

原创 CF判斷正方形和矩形

//本題總結:判斷特殊的的多邊形的時候..要抓住很特別的特徵..一定要能夠確定是該多邊形的條件. //比如本題..出現了一個很特殊的直角梯形的情況..有了四個最小邊相等..然後存在一個直角的情況.. //但是..開始寫的時候的條件改成去判

原创 樹狀數組專題(五)hdu1166

#include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #include<iostream> #include<vector> #include<a

原创 樹狀數組專題(十一)之hdu2688

//本題大意:給出一個數組..然後給出m個處理 //Q表示輸出現在的遞增2元組有多少個.. //R a b表示對a-b這個區間進行循環 //題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=26

原创 留待學習線段樹

#include <cstdio> #define lson l , m , rt << 1 #define rson m + 1 , r , rt << 1 | 1 const int maxn = 55555; int sum[max

原创 並查集學習講解

文章作者:yx_th000 文章來源:Cherish_yimi (http://www.cnblogs.com/cherish_yimi/) 轉載請註明,謝謝合作。 昨天和今天學習了並查集和trie樹,並練習了三道入門題目,理解更爲深刻

原创 樹狀數組專題(二)hoj1867經理的煩惱

//題目大意,給定N個商店,有初始商品數量.有兩種指令,0 x y 表示x位置的商店的商品數量增加y //1 x y 表示查詢[x,y]區間內的商品數量爲素數的商店的數目.. //這裏更新的條件就變成去判斷更新值是否從非素數變成素數或是從

原创 樹狀數組專題(一)POJ2352

#include<stdio.h> #include<stdlib.h> #include<iostream> #include<math.h> #include<string.h> using namespace std; const

原创 樹狀數組專題(十三)之hdu3450

//題目大意:給出一個序列和d,找出所有滿足相鄰元素的差得絕對值<=d子序列數 //題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=3450 //這裏沒有給出數據的大小..試了試.是比較大的.

原创 樹狀數組專題(六)hdu1556

//這是屬於樹狀數組的應用二..對一段區間進行修改..然後訪問點的更新值.. //如何對於一段區間[a,b]更新的情況Updata(a,1);Updata(b+1,-1)的理解.. //因爲是對於[a,b]區間內的更新..那麼只更新a是如

原创 DP激情奉獻(三)hdu1506狀圖選最大矩形

//題目大意:給一個N,接下來N個數字..形成一個N格大的柱狀圖..answer問最大的矩形是什麼 //最開始想的是優化了直接的N^2的處理方法,對於每個a[i],分別找他的左右兩邊分別有多少個 //比他要大的..只要遇見小的就break

原创 樹狀數組專題(九)之hdu2852

//題目大意:給3種N個操作.0 a.增加一個元素a,1 a刪除一個元素a,2 a k, //輸出一個比a大的第K個元素; //其中,特殊情況是刪除的時候沒元素時輸出not element! //沒有第k個元素的時候輸出 not find