白天在看樹狀陣列的課件,大概能理解一些,明天再多看幾道題。
晚上去照顧奶奶,手邊沒電腦所以現在才上來寫集訓日記說明一下情況。
樹狀陣列高效是因為能夠利用位運算直接求出i對應的lowbit
int lowbit(int i) //返回i的二進位制最右邊1的值
資料插入:
void update(int i,int data)
{ while(i<=n)
c[i]+=data;
i+=lowbit(i);
然後求和查詢:
//返回a[1]+...a[i]的和
int sum(int i)
{ int res=0;
while(i>0)
res += c[i];
i -= lowbit(i);
return res;
太晚了就這些吧。
以上~
8 1 集訓日記
今天看了有關容斥原理的幾篇部落格。容斥原理的基本思想是 先不考慮重疊的情況,把所有物件的數目求出,然後再把計數時重複計算的數目排斥出去,使得計算的結果既無遺漏又無重複。首先是乙個經典的互素問題 hdoj 4135 co prime 題目大意是 給定a,b,n,求區間 a,b 中與n互素的數的個數。思...
8 4 集訓日記
今天看了有關組合數學的一些內容。首先,排列組合的 為 ll c ll n,ll m ll a ll n,ll m 一道組合數學 位運算的題,hdoj4810 wall painting 題目大意 有一位畫家,有 n種顏料,給出 n種顏料的值。然後在1到 n天中,他每天都會選擇相應天數的顏料數進行混合...
8 9 集訓日記
今天才知道好像要發好幾十篇部落格之後才不用審核 今天把數論的課件看了看,算是再複習一遍,掌握的更好吧。都是之前學過的內容,只是有些記不清的,也沒什麼好寫的,這裡整理一下位運算的課件吧。位運算 一 位運算子及規則1 按位與 全真則真 一假則假2 按位或 一真則真3 按位異或 同則假 異則真4 左移5 ...