2017-12 CDQZ集訓(已完結)


從聯賽活了下來(雖然分數倒一……),接下來要去CDQZ集訓啦……

DAY -2 2017-12-16

被老師安排負責一部分同學的住宿以及安排……

抓緊時間繼續學習,LCT真好玩啊真好玩……

晚上放假了……

DAY -1 2017-12-17

放假進行中……下午轉場到了石家庄。

與srs,wzz,wxh幾個dalao住在一個賓館,晚上出去吃飯……

DAY 0 2017-12-18

4:30早起……到機場。

似乎沒有想象中的麻煩……

很順利的登機,起飛的時候氣壓的確有一些奇怪的問題……耳朵有點難受

飛機上頹三體2,頹完了……降落的時候好了很多。

到機場把人攢齊坐車出發,到了cdqz南門……

等了一會接應的老師過來了,帶我們進了校園。

高新的校園很幽靜啊……綠化很多也很好……宿舍環境也很好,食堂也很不錯

比衡中不知道高到哪里去了。

中午好好睡了一覺下午去機房打題,快4點被七中的老師拉出去體育鍛煉……

???一年沒有鍛煉過了,一臉懵X

4點多回到了機房繼續打題中……

 DAY 1 2017-12-19

上午考試
怎么說呢,全程懵B
覺得T3比較可做,考試的時候打的比較多
前兩道題也在想但是想不動
最后T3用線段樹模擬LCT拿了70pts,但是當時就是沒看出來LCT的本質
T1T2都在亂搞,一共才30pts
總分100 rank8
講題!
T1 亂搞 矩陣乘 DP ryf dalaoA掉了
T2 BSGS 鄰座的女神犇starriaA掉了
比較妙……n%p和2n%p-1是欽定的,我們可以這樣拼一個n%p出來。。。
T3 。。。待會學長要講
講課!
先是LCT
復雜度證明:關於access
首先splay是均攤O(logn)的
然后呢?
在access交替splay以及連邊的過程中……

 1 inline void splay(node *o)
 2 {
 3     for(clear(o);!o->isroot;rotate(o))
 4         if(!o->f->isroot)rotate(son(o)==son(o->f)?o->f:o);
 5 }
 6 inline void access(node *o)
 7 {
 8     for(node *p=null;o!=null;p=o,o=o->f)
 9         splay(o),o->ch[1]->isroot=1,p->isroot=0,o->ch[1]=p,o->update();    
10 }    

如果進行樹剖,那么輕邊最多有logn個,所以這部分是logn……
如果我們把樹剖的重邊改為虛邊,可能是他兄弟的實邊被改成了實邊(因為一個節點,即他的父親只有一條重邊),也可能是access了他的父親,
然后這個就和輕邊差不多?
至於splay。。。。每次操作,splay的大小會不斷抵消
最后是logn的
然后關於復雜度:
替罪羊最壞Ologn
treap期望Ologn
splay均攤Ologn
講算導上面那個復雜度分析?聽聽聽
“勢能函數的特點是在實際代價較小的時候有較小的增長,較大的時候有較大的減少”?
然后加加減減就把復雜度干下去了。

bzoj2321
從簡單情況開始看……假設是1維
相對位置不變
然后把權值(r-l)拆成r和-l
發現權值是一定的
然后把初態和末態看做勢能的2個狀態
物理知識……
做功,勢能……
系統的勢能……

lct如何查詢子樹信息
這次虛子樹有用了
我們維護他們的信息去更新
在虛實切換的時候,進行集合的更新
最后選取自己想要的信息。

bzoj4530
lct維護子樹大小(裸的?)
離線樹剖也可?

lct維護邊權
拆點……這個我會倒是
然后參照動態仙人掌不用建新點
維護子樹的誘導子圖
但是每個點多維護2個變量,表示在原樹鏈上的前一條和后一條邊
而access時候:

然后細節:注意pushdown

bzoj3510
維護重心……
性質?的確有。n/2子樹大小開始搞
啟發式合並合並lct

bzoj3637 COT VI
黑白樹支持修改
求同色聯通塊大小
與度數無關算法:
2個森林:黑森林,白森林
維護的關鍵是森林的交接
白->黑 黑->白分開維護
盡量利用已有的父子關系,少連邊。

uoj207 隨機化套路?
法1 (維護子樹)給點隨機一個點權,判斷子樹點權和是否等於總和
法2 (維護邊權)給點對隨機一個權值,把權值異或到路徑上面,修改的時候在切口那里異或那條邊的邊權。

bzoj3779 上午T3
當時用線段樹模擬lct
我也是可以了23333
剛剛學了lct卻沒有用上
上午在想暴力往上跳怎么辦
lct的鏈不就行了
那個操作明明就是給access帶了個帽子23333
法1 分兩段維護 x到根,子樹到x
第一個好維護 第二個要維護子樹
維護一個”走到最左邊的點的權和“(也就是最靠上的點)
根據flip的對稱性再維護一個去右子樹的權和
維護splay大小,顏色,段數,………或者是我那種維護方法,用線段樹打標記加減但是怎么加減?

bzoj3159 決戰
用深度splay綁定另外一棵權值splay一起實現(不過不是權值關鍵字,是深度splay中序遍歷每個點的映射……或者什么的)
用權值splay實現路徑權值翻轉。。厲害了

bzoj4764
維護環套樹 分類討論打標記
維護仙人掌 不講
維護完全動態普通無向圖 我……&*…#%……
把原圖分成logn個維護?
沒聽懂???
?????
感性理解ing……
大概……有一種分治的思想?

 

ETT

用splay維護樹的歐拉序
入正出負
然后用區間掰開的平衡樹維護就行了?
無旋treap也行吧?
可以修改子樹
link和cut都行
換根呢?序列shift一下(循環移位)?
好像不可打?

bzoj4825 單旋
維護二叉搜索樹的ett
搞前驅、后繼?

bzoj3786
維護歐拉序,切來切去打標記,正加負減
然后查詢1~l[i]的權值和

FWT
求異或卷積??????
Ck=sigma(Ai*Bj)
普通卷積是i+j==k
然后這東西是i(位運算)j==k

先考慮:
Bj=sigma(Ai),i(位運算)j==j

對於長度為2^K的數組A 求B數組
先分治求子問題
然后你會發現現在 原來在子數組的某個數在不在新數組里面,只與最高位有關。
這個東西也是可以逆變換的

然后有一些奇怪的性質
i(位運算)k==k,j(位運算)k==k,那么(i(位運算)j)位運算)k==k

但是這個辣雞東西不適用於異或
...好難啊好難啊
晚上繼續改題 改不動了23333 調不出來

DAY 2 2017-12-20 

上午考試
先是讀題……發現T2的畫風又不太正常
然后T1的暴力顯然是n^2的,繼續想正解……
本來是想掃描線直接打的,但是發現打不出來
最后寫了個O(實際交點個數)的鬼B算法
不過想着想着就發現可以二分
然后打唄……雖然是最后1個小時想出來的
然后T2,覺得沒准會按位貪心,然后沒准是01trie什么的
鬼知道他是線性基啊
然后T3打了顯然的40pts虛樹
當時也在想轉化問題,但是我在想的是“一個點作為lca的需要減去的貢獻”
然后啟發式合並vector什么的23333333
正解當然正常了許多,啟發式合並線段樹。

100+30+40=170 rank8

繼續講昨天的內容……
fwt是一種線性的變換
然后它就……可以直接加?
T(a)+T(B)=T(A+B)
以及可以直接取模
帶修改,根號權值的復雜度
……持續懵B
Uoj310
給一個數集,求異或和相等的無交集子集的方案數
先考慮DP……DP還好……
然后FWT優化DP?

數據結構

線段樹分治
在定義向量加法之后,01背包=向量求和?
把一個數組看成一個整體,然后瞎jb定義運算據說可以降低思維難度
關於消失之物
考慮分治
大概對於一堆東西
x ooooo
o x oooo
oo x ooo
ooo x oo
oooo x o
ooooo x
我們可以對x兩側的東西去分治然后合並?
可以?
……好像是可以
i對於[1.i)和(i,n]進行了貢獻
這即是i的存在時間

線段樹維護時間軸,即線段樹的節點上維護存在於這個時間上的物品
大概是用在一些不可減的問題?
離線的……恩……動態的很多東西
動態連通性,二分圖判斷,最小生成樹,線性基,凸包,背包
類似那個建設道路,維護時間軸
把每個東西看成事件……
…………沒聽太懂啊……不知道怎么打
bzoj4311
維護向量集合,查詢給定與x點積最大的向量的點積值。
數據范圍1e6
4644
1018



貓樹
用於維護無修改,維護不可減,不可重,合並較慢的信息?
比如區間最大連續和,O(1)
這個東西不可減對吧,rmq也不可重對吧

主體是個線段樹,維護“從中點開始的前綴和和后綴和”
信息量nlogn級別
然后找到第一個處於詢問區間的中點,直接加上之前的信息。
這樣只合並了一次。
我們可以對線段樹維護lca然后O(1)找到對應點
但是它維護的信息比較多
所以只能在端點修改
然后不能可持久化

那么我們把思想轉移到平衡樹上
在平衡樹的節點上維護
不能旋轉2333



重量平衡樹
在修改的時候 重建/旋轉影響到的子樹大小是log的
包括替罪羊和treap
treap是期望logn的
所以重量平衡樹是可以作為外套的,重建復雜度有保障
支持動態順序位置問題?
支持插入刪除,查詢那個元素更靠前
給節點用實數編號O(1)查詢
插入和刪除也可以魔改



可持久化treap
可算講這個了
高興
不過忘板子了尷尬
無旋treap和可並堆的確長一個德行



平衡樹維護動態凸包
離線的可以線段樹分治
在線是平衡樹套平衡樹
無旋Treap套可持久化Treap
可持久化維護了子樹里面的一個大凸殼,
都是log^2n的
NOI2017影分身
用貓樹思想維護
……我可能一直學了假的數據結構



動態點分治
真的是數據結構大雜燴啊
毒瘤的一下午
樹剖求LCA深度和 和LNOI那個差不多
然后講了之前做過的幾道題
bzoj4372
單點查詢點權
把距離x不超過d的點權都加上w
唔……
點分樹的dfs序然后用線段樹維護他?被ban掉2333
每一個點維護一個線段樹:距x距離為d的點被加了多少權值,支持區間加
然后也要維護父親,爬上去查詢
維護父親真是好常見啊



樹剖優化Dp(基於鏈的Dp)
帶修改樹上最大權獨立集
鏈:用線段樹維護
每個節點4個變量,記錄線段的左右端點有沒有被選入獨立集
然后合並
如果到了樹上
樹剖開始搞
維護2個信息a和b。
在思考的時候先考慮序列的簡化版
bzoj4911
詢問多少連通子圖的點權異或和為k
用fwt優化
我¥&……#&%%……@@#
對於題目中的某些式子,考慮變換的思想
也就是吃進去什么吐出來什么
直接調用目標變量,寫成F(i)=F(i+1)+常數的形式
剖分的結構假裝他很優秀
讓這個東西輕邊有保障,我們仔細設計一下
然后



LCT優化Dp
我……………………



回到剛才那個SB題目
…………
猜結論
點雙縮點建樹?
naive



圓方樹
uoj30 tourist



再回到剛才那個SB題目
…………
圓方樹+樹剖優化Dp


今天晚上搞什么?
還是FWT 線性基……
昨天那個LCT(3779)我棄療吧

好的,一個晚上過去了

剛剛把fwt搞明白

很不錯的思想……化簡問題只考慮最高位,以及那個修改的分塊思想。

DAY 3 2017-12-21

先講課,成績鍋了2333

繼續昨天的內容,先是講了一些黑科技
O(n)的rmq

后綴自動機
ret集合?
parent樹?
我怎么聽不懂啊……

成績出來了
95+10+80 rank4
T1其實是sb題然而……
非要玩個雜技用dfs枚舉約數mdzz
T2
矩陣行列式
……
T3
LCT/樹剖+回文自動機
…………
用LCT維護fail樹
懶死我了沒打lct

回文自動機
還是這東西親切感人

可持久化AC自動機
維護一個“jump”,表示……什么玩意來着
用主席樹維護可持久化數組。

字符串講完了?
晚上再看看…………

可並堆
不難的東西但是很妙
詢問“滿足li<=pi<=ri的排列中,逆序對奇數多還是偶數多”,n 1e5
對高斯消元(雖然我還不會)的過程用可並堆維護用誰消元

給一棵有根帶邊權樹,修改邊權,使葉子與根距離相等,並且sigma(abs(delta val(i)))最小
定義f[i][j] g[i][j]
然后這倆都下凸
用可並堆維護凸殼?

bzoj1367
數據結構選講
bzoj3956
bzoj3658
method 4 根據題意定制數據結構
晚上學什么啊……看一看看一看

DAY 4 2017-12-22

終於翻車了
前兩天rank有點高 我下來冷靜一下
50+100+20 rank……10?
T1……其實應該及時轉換思路
轉變枚舉對象其實就能想了
原來我是枚舉每個人去找誰更新它,現在我枚舉它更新誰
然后拿個平衡樹打個標記
T2之前似乎模擬賽考過
T3……
……………………
拒絕,我拒絕


我們還是講課
bzoj4771
x的子樹里和x不超過d的點有多少種顏色

對於“每個深度”建一個主席樹
然后維護深度和
對於點x 在deep[x]+d對應的主席樹查dfs字數和
用set維護虛樹預處理

bzoj2658
n*m矩形有N個黑點
有多少矩形至少有1個黑點
n,m 4e4 N 100000

肯定統計沒有黑點的
然后呢?

枚舉下邊界
設對於某個下邊界
對於x坐標的每一位xi
經過距離hi達到某一個黑點
然后hi排成了一排

wc2016鏖戰表達式

k種運算 都滿足交換律結合律
然后支持區間翻轉 單點修改 表達式求值 可持久化?
無旋Treap套無旋Treap套無旋Treap套無旋Treap套無旋Treap套無旋Treap套無旋Treap套無旋Treap套無旋Treap………………


雜題選講
所以說這種性質題/結論題啊……
bzoj3425

bzoj3917
果然可以分治
但是好神啊

bzoj3351
大塊小塊算法的應用?
樹分塊
設塊大小是s
選取深度是s倍數,子樹大小為s的點作為關鍵點
然后每個點往上走第一個點的這個點所處塊

bzoj4849
數據范圍小一點是可以費用流的
然后結合具體題目去優化
必須要動腦子思考啊……

bzoj3509
分塊fft?????

與jcy告別 明天開始講圖論?

DAY 5 2017-12-23&DAY 6 2017-12-24

昨天(DAY 5)晚上電腦藍屏了……
什么東西都沒存 筆記也沒有 心里苦啊

DAY 5 沒有存數據2333

DAY 6 100+20+25 並列了不知道多少個人的rank22

昨天晚上電腦藍屏了……
什么東西都沒存心里苦啊
講題
T2是什么鬼題啊
忘了四邊形不等式怎么打
想死只好打20pt
未知算法G
從左往右找到第一個k使得[k-1]<[k+1]
合並[k-1],[k]
再往前找到第一個[j]>[k-1]+[k]的j,把[k-1]+[k]插到j右邊
T3
改裝最小割,反邊流量要inf?
沒聽懂
沒聽懂

還是講課吧
網絡流
二元費用問題?
經典的最小割模型
給這些邊分別搞好流量

最大密度子圖
選擇一個邊導出子圖使得邊數/點數最大

最小鏈覆蓋覆蓋所有點
每個點恰好被一個鏈覆蓋

資瓷可重呢?
dillworth定理?

最小鏈覆蓋等於最長反鏈

線性規划轉網絡流
誒我一直不會啊
bzoj1061
bzoj4842
唔……讓我思考一下
聽dalao講
把等式差分一下
移項
xxxxxxxxxx -?+?=0
等於0:流量守恆
變量對應流量,因此負的為出邊,正的為入邊
和上下界類似
然后差額流量用輔助變量之間從源點/匯點補流量
關鍵字消變量
如果把網絡流藏了起來,關鍵的是看原圖中的什么與網絡流中的要素去對應
比如說入度出度流量費用等等


但是有的時候線性規划用不了

邊的實際意義

一類核糖體+mRNA問題233333
終於對這種“每個長度為l的區間至少k個/不超過k個”的題目理解一點了

我們的核糖體,也就是那個長度為l的區間,在不斷的移動

一開始我們從源點放出來k個tRNA,現在如果它在這個區間內操作了一下,

那么在這個區間里面它就不能在操作了,那么我們讓他跳到m長度之后,也就是不包含它的第一個區間

當然也有可能從底下有溜過去的其他tRNA,我們在底下連邊來限制上界。

 

棋盤:經典套路是黑白染色瞎jb搞?

對於某些比較惡心的條件,考慮它到底有沒有什么卯月,可不可以忽略

今天晚上把后綴自動機暫結了
其實沒有想象的難
求拓撲序的那個基排挺不錯,巧妙
bzoj2555SAM+LCT
bzoj2946經典應用
bzoj3926對Trie樹建立廣義SAM
bzoj3238稍微變形
bzoj3998稍微變形

 

cdqz的同學們晚上去參加了本校的聖誕晚會?羡慕

 DAY 7 2017-12-25 

數 數 數 數學

FFT 第三次搞這個了……
只能搞卷積?
然后化成卷積就行了

多項式的表示方法:
系數,點值

點值乘起來快……
單位負數根

滿足w^n=1的復數解
wn=e^(2πi/n)

折半引例 消去引例

NTT 單位復數根換成原根

帶有通配符的字符串匹配

令‘?'=0,a~z=1~26
那么兩個字母匹配有
xy(x-y)^2=0
?????
???

然后把這個拆開做卷積

CDQ+fft?
淀粉質+fft?
鬼畜啊……
多項式求逆 多項式除法 開根 inf(x) 任意模數
k次冪

今天要學學板子

fwt
似乎並不全是套路
似乎有一種套路需要進行二進制位(bit(i))的限制?

生成函數
給定了一個無窮的序列a
然后有f(x)=sigma(a(i)*(x^i))
對於fibo的f(x)???
似乎可以解決計數問題?
把方案寫到生成函數里去

反演

積性函數

狄利克雷卷積

phi卷1=i
mu卷i=phi
杜教篩:低於線性的復雜度求積性函數前綴和
改變枚舉順序
利用狄利克雷卷積來搞
杜教篩的步驟:
瞎搞?
似乎
我們一般是要求一個F(i)為f(i)的前綴和
然后數據范圍還很大
我們把找兩個積性函數g(i),h(i),g(i)卷f(i)=h(i)並且g和h要很好(一般是O(1))求前綴和
就是對於不能直接杜教篩的式子,
可以將其與另一個前綴和易求的積性函數狄利克雷卷積,
使得卷積后的函數前綴和也易求。
然后設H(i)為h(i)的前綴和,我們就有g(1)F(n)=H(n)-sigma(i=2 -> n)(xxxxxxxxx)
其實這大概也是一種化小問題規模的思想
我們搞這么多式子 就是為了讓F同時在兩邊出現
這樣就可以化為子問題了

群論
burnside
polya
???
??
???????
????
全都蒙過去了
GG

線性基
兩個板子之間不知道有什么區別

我棄療吧

搞了一晚上杜教篩

數學有益身心健康

DAY 8 2017-12-26

翻車翻車
T1 全世界都會推柿子我不會 昨天晚上白搞一晚上杜教篩
T2寫個動態淀粉質爽一爽
沒開全longlong掛60
T3網絡流莫名其妙TLE可能我板子打掛了
25+40+35 rank26 鬼畜啊

然后講課 博弈論
博 博 博弈論?

打表是博弈論的有力工具

推結論是一種能力和技術

圓的反演定理
對於任意點p,其反演點q有op*oq=r^2

DAY 9 2017-12-27

越到后面考的越差
我好菜啊.jpg
10+70+0
T1據說暴力能A 然而我不敢打
再加上捆綁就gg了
T2正解打炸了?掛了30pts
昨天T2也炸了60pts

T3 網絡流好神啊
雖然我不會求導但是我可以三分啊……
不過我不會打三分的板子

反思一下……
這兩天有點浮躁……開始掛分了,並且掛的不少
前幾天的成績讓自己飄了
是小夫你飄了還是胖虎我拿不動刀了
比如昨天那個T2 如果我再查一遍也許我就會發現那個少開的LL
要踏實專注啊……

講課

先是一堆樹歸

性質題怎么推啊怎么推

補集轉化的運用

奇妙的狀壓

最小表示法

這道hdu4285似乎很不錯啊……
有時間做一做

今天晚上搞fft吧
我鴿了不知道多長時間了 快搞一搞

好的一晚上又是過去了

把FFT總算是搞懂了……包括原理,以及代碼實現的細節,還有一開始的rev操作。

真的是很優秀的算法……打了一道板子題,明天去做一下NTT……

 

DAY 10 2017-12-28

還是講課的dalao出題
T1……無腦的打了個樹套樹 MLE了

虧我打得出來線段樹套啟發式合並可持久化Treap
T2數組開小了 掛了30pts
T3……沒臉說了
交之前開了個大數組 搞MLE了

嘴上說着踏實專注但是還是掛了3天的分啊
60+30+60
這樣的話,不能說自己能滿意吧?
剛才看到WQ的游記寫着這樣的話

(中午,因為今天有點爆炸就思考了一下人生,悟透了OI路,感覺神清氣爽(不得不說,聯賽之后我變了,變得越來越功利,越來越頹廢,好像忘了真正的OI是什么)

嗯……怎么說呢
聯賽之后 自己的確有一定改變 包括套路,思路的廣度,還有自己最不行的推柿子能力等等
剛開始集訓的時候 的確也有小小的目標 有的時候還會幻想着自己能夠AK之類的
但是現在我已經意識到
首先 瞎jb想是沒有什么卯月的
第二 長期的訓練是會讓人陷入枯燥的心態坑的
所以必須要想辦法讓自己放松下來,一定要保持良好的狀態,放松可以但是千萬不要頹廢
這兩天想想都有什么辦法好了


DP優化

改良狀態定義 改良枚舉方式/狀態數
鷹蛋問題
三分進行優化
觀察規律 特判
看數據下菜碟

單調隊列優化

優化多重背包
對於每一個物品都跑一次

四邊形不等式
滿足區間dp那樣的轉移方程
如果有:
w[i][jj]+w[ii][j]>=w[i][j]+w[ii][jj]
i<=ii<=j<=jj

上次那個不知名G算法

斜率優化
bzoj3672 購票
沒有做……我回頭做一下

DAY 11 2017-12-29

上午依然考試
感覺自己被套路了
今天這TM是3道雜題
T1拿CDQ打了個貪心的活
T2沒有夢想的輸出impossible
T3是人生第一道交互,結果並沒有什么分數
T1的CDQ打到了10點
然后玩T3也沒玩出來什么東西
GG 60+0+0 rank24

還有明天一天
希望分數能好看一點……

講課
期望概率
帶環dp:dfs解方程/高斯消元

概率可以舍棄處理次數較多的量(乘了太多

很可能是0)

 

 

如何表示連通性:狀壓 最小表示法 自然數拆分

打暴力是一種藝術

擬陣
空集可行 子集可行(遺傳) 擴充特性

通信題
真好玩啊
這幾道題的思路都很妙啊……
尤其這些都是編碼題……很是考驗思維的靈活性
真是優秀

明天最后一天了,加油咯

明天上午考試
考完試……似乎我考不完試
不過聽老師說說
下午1:30講題 2:00閉營儀式

DAY 12 2017-12-30

似乎今天上午我考不完試啊

最遲11:30左右就要離場收拾東西去了

心里苦

 果然沒有考完……

讓RYF幫忙領獎

趕飛機啊趕飛機

飛回了家,感受溫暖和美食

我抽到卡蓮了啊哈哈哈

DAY 13 217-12-31

啊啊奶奶做的飯太好吃了

吃不動了吃不動了

下午回衡水,住在賓館里。

明天早上就要回hz啦

END

本以為會很長的十二天的集訓,竟然結束的這么快,自己也有一點驚訝

驚訝於自己的表現,驚訝於先輩們的經驗,也驚訝於外校同儕的友善

這次集訓,我必須承認自己確有成長

不敢想的東西敢想了,不敢打的東西敢打了,也學會了很多新東西。

同時,我也認識到自己確有不足,思路局限,有事過於死板和套路,思維、細節不夠嚴謹,以及仍然有很多不會的知識點;

但萬幸的是我還有時間,我還能夠做出改變

雖然自己還是有很多知識點不會

雖然考場上碰到題還是想不出來

從今往后,前方必然更加明亮,未來正等待着我!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM