冬令營頹廢筆記

2022-05-12 10:58:56 字數 1555 閱讀 8757

主要用於處理不便於合併兩個區間的問題。

題面solution

本題為序列分塊經典題。

顯然要先離散化,對序列分塊。

預處理出:

\(cnt[i][j]\):到\(i\)塊顏色為\(j\)的總數

\(f[i][j]\):從塊\(i\)到\(j\)的眾數:列舉塊的開頭,掃一遍即可

\(num[i][j]\):從塊\(i\)到\(j\)的眾數是什麼數

然後我們在詢問的時候,先把塊裡面的眾數找到,然後暴力處理左右兩邊的散點,開桶計算,每個數字判斷一下即可。

題面問有多少種方法把一顆樹分成若干塊使得每個塊的點數相同。

solution

觀察後可以發現幾個性質:

1.若讓某顆子樹能分成若干個大小為\(x\)的塊,則其點數必為\(x\)的倍數。

2.若讓整棵樹可行,則必須有\(n/x\)個可行子樹。

題面給定一顆\(n\)個節點的樹,把這棵樹分為若干個塊,塊的大小\(<=3b

\&>=b\),兩個塊之間可以共用1個節點,問如何劃分。\(n<=1000\)

solution

暴力搜尋,遞迴結束前進棧,做完乙個孩子節點後檢查,若滿足要求則出棧。

事實上,這是把乙個樹分塊的一種方法

題面維護一棵初始有n個節點的有根樹(根節點為1),樹上節點編號為1-n,每個點有乙個權值wi。

支援以下操作:

0 u x 詢問以u為根的子樹中,嚴格大於x的值的個數。(u=lastans,x=lastans)

1 u x 把u節點的權值改成x。(u=lastans,x=lastans)

2 u x 新增乙個編號為"當前樹中節點數+1"的節點,其父節點為u,其權值為x。(u=lastans,x=lastans)

最開始時lastans=0。

solution

分塊套splay

考慮這樣分塊:dfs,若父親節點所在的塊的塊未滿,則塞入父親節點所在塊中,否則自成一塊。

事實上,這是樹分塊的另一種方法

塊內有序,塊外暴力即可。

奇偶排序:若左端點不在同乙個塊裡面,按左端點排序,否則對右端點排序,當左端點在奇數塊,則把右端點從小到大排序,否則把右端點從大到小排序。

題面每次詢問乙個區間,詢問這個區間內是否有:

任意兩個數相加等於\(x\)

任意兩個數相減等於\(x\)

任意兩個數相乘等於\(x\)

solution

用bitset來存數字是否出現

是否相加有\(x\):將整個bitset向左移動\(x\)位,與原bitset and一下即可

是否相減有\(x\):將整個bitset向右移動\(x\)位,與原bitset and一下即可

是否相乘有\(x\):暴力列舉即可

2015 2 1冬令營日誌

今天的任務 1.寫一篇部落格。2.寫乙個週報。3.聽張老師的講座,感覺還是獲益匪淺。他說我們學校的軟體工程專業現況是有實力與清華北大媲美的,這讓我感到十分榮幸,雖然沒有親自去過清華北大,但這兩所學校的名氣確實是如雷貫耳的,瞬間覺得我還是走上了乙個高富帥的專業。但是,以後的事情還是需要我繼續努力堅持才...

2019徐州冬令營

day1 長短 模擬 資料提取碼 1t2n 題目鏈結 day2 生成排列 資料提取碼 z6e7 題目鏈結 排列組合計數的實驗範例 catalan數 bell數 stirling數 day3 鴿巢原理 資料提取碼 k6b9 題目鏈結 容斥原理 p lya計數公式 群和p lya定理基礎知識 day4 ...

動態規劃(冬令營課堂筆記)

簡單問題 01揹包 012揹包 部分揹包 機器分配 烽火傳遞 花店櫥窗問題 乙個容量為m的揹包,有n個物品,第i個物品的體積為wi,價值為ci。選擇若干物品,使得體積總和不超過m的情況下價值總和最大。n 100,m 10000。搜尋 複雜度為2 n void dfs int x,int y,int ...