ACM集訓日記 8月16日

2021-08-06 07:40:43 字數 470 閱讀 7810

const int maxn=10000+5;//最大元素個數  

int n;//元素個數

int c[maxn];//c[i]==a[i]+a[i-1]+...+a[i-lowbit(i)+1]

//返回i的二進位制最右邊1的值

int lowbit(int i)

//返回a[1]+...a[i]的和

int sum(int i)

return res;

}

//令a[i] += val

void add(int i,int val)

}

就是存在樹狀陣列裡的數,下標是基數的只與原來下標的陣列的值還有樹狀陣列中下標減一內的值有關,而偶數則複雜一些

ACM集訓日記 8月10日

今天開啟了新的篇章,開始做暑假訓練二了,這個專題都是二分法和單調佇列和樹狀陣列,今天做了兩道二分,感覺還行,可能是因為我挑了兩道比較簡單的題目做了吧,二分法也算是複習了,二分法主要是三個值狀態的變化,最大high,最小low,中間mid的不停變化達成搜尋的目的,並且時間比列舉快,要注意的一點是要套用...

ACM訓練日記 8月8日

經過今天的訓練,還真有點累,主要因為是下午的訓練賽,前兩道題特別的簡單,可到了第三題就直接麼懵了,最鬱悶的是賽後看題解還完全看不懂,是線性dp的問題,看了好幾篇部落格,還是半懂,甚至開始懷疑自己動態規劃怎麼學的,明天還是先了解下線性dp的事再看這道題吧。另外利用上午和晚上的時間,勉強a了三道題。第一...

ACM訓練日記 8月4日

今天雖然只a了三個題,但感覺也算是扎扎實實的三道題,分別是數獨,塗顏色,分兩組。數獨這道題很明顯是深搜,9 9的方格填滿數,使得橫排,豎排,和9個3 3的小方塊只有1到9不重複的九個數,該題的關鍵就是做好數字使用過的標記,要做三個vis i j 然後就只需要吧空著的方塊填入判斷填數字,遞迴到填滿為止...