ACM訓練日記 8月18日

2021-08-07 03:11:47 字數 406 閱讀 1664

今天一直都在看樹狀陣列的部落格,感覺從別人寫的題解中還是讓我這個初次接觸樹狀陣列的小白有些收穫。

樹狀陣列在應用中大致有兩種方法,一是向陣列內填入實數,用來方便計算總和,二是填1或0,1代表滿足條件的元素並對後面的影響,就拿逆序數這道題來說,樹狀陣列中記錄每乙個數比該數小的數的個數,假如填了3這個數,後面的數4,5,6,,,的位置也就更新+1了,貌似第二種的應用多一些。

看了一天的部落格,我一直在想樹狀陣列主要是解決哪類問題,從今天的收穫來看,解決的題目主要是解決關於像逆序數的問題,主要是用標記法,記錄該數之前有多少已經符合條件,這一類的問題大多要求離散化。主要利用了樹狀陣列add函式會改變後面各個數情況來實現實時的更新。

感覺自己比較笨,暫時對樹狀陣列的總結就說到了這些。今天仔細看了十幾篇部落格,對樹狀陣列的應用大致有些自己的理解與收穫,還要加把勁。

ACM訓練日記 8月8日

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

ACM訓練日記 8月4日

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

ACM訓練日記 8月17日

今天除了上午繼續看樹狀陣列課件以外,下午進行了第一次團體訓練,雖然成績不怎麼理想,從中也找到自己許多的不足。做第一道題時其實就有些困難,雖然我們是第乙個做出來的,給了幾頭牛的重量與強壯度,要求把這些牛摞起來,每頭牛的風險是該頭牛上面的牛的重量相加減該牛的強壯度,求怎麼摞起來使最大風險最低,這道題很明...