集訓第一天內容

2022-04-06 19:58:02 字數 1542 閱讀 9198

概要:對樹鏈剖分進行收尾和小結,挺進ac自動機(要快,效率要高!)

(一)樹鏈剖分的幾個總結:

①【lca】(bzoj3626)

主要目的就是要優化這道題的時間(思路是從暴力演算法入手,然後使用資料結構--樹鏈剖分+線段樹去優化)。

·正確處理乙個關鍵問題即可突破此題:區間[l,r]與z點之間的關係。【處理不同性質的問題,有一種入手方式是將其轉化為同一性質的問題】可以想到一種集合關係:

-------------

ans[l,r]=ans[1,r]-ans[1,l-1]-----------

·最後來跑一跑sort(),這也算是一種常用而高效的優化方式了:改變列舉順序,以達到貪心目的或正確狀態。

②【2015noip運輸計畫】

dfs序,就是這樣。樹鏈剖分可以寫,但是沒有必要。在入和出的時候予以標記,權值分別為正負,程式格式是這樣的,十分清晰:

void dfs(int u)

為了方便回憶,再來乙個舉例:

題目回憶到此為止。這是集訓第一天,上午課堂很高效,但在下午ac自動機的一道涉及矩陣乘法的題讓自己去尋找和理解預備知識「矩陣」就花了很長時間,效率不高(中午睡覺時間有點不夠)。這是乙個問題:我們對於這種超知識範圍的題是否應該深鑽?【或許太耗時間而且沒有途徑系統學習】

這個問題留給張姐來解決。

回首望去常規那邊,只剩大公尺餅了…

張姐還在調ac自動機,(她說:我很累)

lence在………………

袁yt在做二分題,

王sy在…………………

不要放棄,大不了再給你乙個大公尺餅。

don』t give up,anyway we can still get a big-riced pancake!

wsy:lca這個題哪門做的?

集訓第一天

1.兩個正整數,它們的乘積等於它們的最大公約數和最小公倍數的乘積。2.記憶法。用乙個陣列儲存計算的結果,而不是每次迴圈都計算一次。3.輸入多組資料 int n while n scanf 4.輸入 include using namespace std int x,y cin x y cout 5....

集訓第一天

熟悉系統程式設計,了解read open write fread fopen fwrite open開啟檔案o creat若欲開啟的檔案不存在則自動建立該檔案,o rdonly以唯讀方式開啟檔案 最後加入許可權 00700 等 定義函式 ssze t read int fd,void buf,siz...

集訓第一天

open.c include include include include include include int main fd open hello.c o rdwr 讀寫方式開啟存在的檔案 if 1 fd fd open hello.txt o rdwr o creat,00700 先建立檔...