暑假訓練1

2021-09-25 11:59:22 字數 1172 閱讀 5527

開始訓練的第一天,重新了解了位運算,列舉,模擬。看的較為仔細的應該是位運算了,其他的有部分題目還未掌握,接下來會更加認真的。

**位運算**:其中比較重要的,常用的應該是邏輯運算子了,按位與,或,非,異或,還有常用的左移,右移。這些運算子的基礎都是機器語言,所以都基於二進位制。

與:全一則一,有零則零。

或:有一則一,全零則零。

異或:同則為零,異則為一。

左移:左移一位擴大兩倍,n<<1=2*n。

右移:右移一位縮小兩倍,n>>1=n/2。(向下取整)

應用:a的b次方對p取模;a乘b對p取模

處理方法:1.每個整數可唯一表示為若干指數不重複的2的次冪的和;

2.b&1可以取出b的最後一位,b>>1捨去最後一位;

3.數值過大防止溢位,每次%p;

4.a*b%p時還可以利用a*b%p=a*b-(a*b/p)*p;

**二進位制的狀態壓縮**:常用於寫dp中的狀態轉移方程,降低時間複雜度

應用:最短的hamilon路徑(補充不漏恰好經過每乙個點)

處理方法:樸素演算法,也可以理解為暴力(其中利用狀態壓縮優化時間複雜度);

基於二進位制,每乙個值的狀態都有0和1兩種,這兩種狀態分別表示是否經過;

**lowbit運算**:lowbit(n)=n&(~n+1)=n&(-n);

應用:常用於樹狀陣列。

**列舉**:可以理解為暴力,但在資料量大的情況下,也要有一些技巧。一般列舉和迴圈,遞推,遞迴,dfs,bfs分不開,有時可能也會用到位運算。

多項式:迴圈,遞推

指數:遞迴,位運算

排列:遞迴,next_permutation

組合:遞迴,剪枝

應用:費解的開關

處理方法:dfs列舉,同時也可加入位運算的處理

遍歷第一行的狀態,從而固定當前狀態,通過改變下一行的狀態改變當前行,依次進行,最後通過最後一行的狀態判斷能否完成

**字首和**:通過兩個和做差的形式得到乙個區間和,二維陣列裡也有類似的處理,線段樹和樹狀陣列裡有此應用。

上面是昨天學習的大致內容,雖然都是學過的知識,但是看一些題的時候還是感到有些吃力,還是知識點不熟悉,處理方法不清晰,還有很大的提公升空間。

昨晚上的比賽的漏洞,首先讀題速度還是太慢,有思路之後**處理太慢,有很多知識點漏洞,見到乙個題後不能立即想出基本的處理方法,dfs還是不熟悉,題意讀錯是大忌。

暑假訓練總結 SSL暑假訓練總結

第一周過的還算好吧,覺得飯堂伙食也挺好的,同學也挺好。學習的東西感覺比小學難好多,有種覺得以前學的東西太簡單了的感覺,但多虧了小學的時候基礎打得還算紮實,學得還行,但總是感覺自己就是個菜雞,就是乙個蒟蒻,哎,室友真的太強了。第一周總結 第二週自我感覺挺不錯的,總算追上了部分室友,成績也開始 這一切都...

暑假訓練隨筆

七月的流火好像還在灼燒著上海,八月的微風已稍有顯露 好吧。不扯了。現在多校訓練已經進行到一小半了,但是自己賽場上做不出來好氣,比賽完補題不會更生氣,就這樣迴圈往復過了半個暑假了。哎,每個學期開頭都是雄心壯志要好好做人,結果到了後面總是難有乙個好的結果。想想acm對我也差不多有了兩年了,大一的什麼都不...

暑假訓練總結

社會實踐調查報告 題目 關於暑假acm訓練的實踐與總結 專業班級 數學與應用數學專業1班 姓名 李雙智 學號 20164249 2017年8 月25日 摘要 31.樹狀陣列和圖論 42.二分三分以及單調佇列 53.樹狀陣列與單調佇列 54.總結6 摘要 本文主要總結了這個暑假acm實踐的主要內容,以...