省選前的考試日誌

1.30算法

先看了T3,發現是插頭DP,碼完發現n的範圍1e18,發現有效狀態數只有21,若是兩行都沒有東西的話,能夠矩陣快速冪轉移,打了兩個多小時,以後一直在調,還剩90min左右時調完了,把前兩題暴力打上了。以後看了看T1發現貌似是原來看過的一種高級線段樹,不會,又想分塊,不太清楚怎麼維護。又看T2,好像也是矩陣快速冪,可是隻有不到40min了,就沒打,又看了看三道題就完了。T3數組開了個30×4的,炸了50分,又不卡內存,之後至少多開5。T1T2暴力都拿到了,而後就rank1了。。。數組

補補以前的吧網絡

1.27數據結構

發現T2好像zyf和lc原來在作主席樹的時候作過,而後就想主席樹,發現只要維護子樹中深度在一個區間內的子樹和就好了,打了一個主席樹+dfs序。看T1好像是數位dp,發現總狀態有三萬多,然而我只會O(n^2),發現好像有70分,碼碼碼。打完。看T3,徹底不會作,n=1時跑了個manacher,不然輸出0。70+100+35=205 rank4該拿的分都拿到了,很好,T1後來把暴力改了改過了。T3是manacher+sa+最短路,十分噁心。函數

1.21測試

先看T2,貌似他們都作過,sa直接上單調棧,O(n)。感受沒啥問題,看T1,先打了個隨機化算法(貌似騙了95分),後來一看,sb網絡流啊,碼碼碼。以後看T3,貌似是很屎的莫比烏斯反演+杜教篩,打了打表,沒發現啥規律,最後就爆零了。100+100+0=200rank7。發現T3不是特別難。沒打出來表,好傷心。優化

1.4指針

發現T3就是sb點分治,打完看T1,好像真的是動態樹,維護什麼呢,一個k,一個b,然而並不知道該怎麼搞,再去看T2,推了個式子,發現有20分,打了出來,發現根本推不下去了,然而T1沒有部分分,就懶得打暴力了(然而wq暴力A了,233)。0+20+100=120rank2。T1真的是LCT好題,T2初始式子就不對,因此真的推不下去。排序

2.1內存

先看了T3,發現應該是SB樹套樹,並且有個地方題裏沒說明白,就沒開。又去看T2,發現是Lucas,先打了50分,而後打表,沒找着規律。再看T1,SB計數題啊,隨便容斥一下不就好了。打打打,發現好惡心啊。而後打了4個小時,最後調出來了,把T3暴力打上了。發現T1TTTTTTT了,一看,init是O(n2)的,草草草,而後就掛成暴力分了。30+50+33=113rank3。草草草,太傻逼了。這兩天總是犯傻逼錯誤,但願能爲WC攢攢RP!可是之後必定要儘可能杜絕這種現象!

wc考試

先看T1,發現44分很可作,就打了暴力和倍增水了44分,後來發現56分好像也不是太難,可是仍是決定先去看後面的題。看T2,一臉懵逼,什麼都不會,後來發現時限15s,因而決定打暴力,水20分,再看T3,交互,發現我只會n<=100的20分以及鏈的30分,打上之後算了算,44+20+50=114,成功達到上一百的目標,可是就今年這種水題,估計金牌線給200,最後檢查了檢查每道題,又給T1,T3寫上了亂搞。實踐發現亂搞是頗有用的,48+20+65=133,T2是真的沒想到子集dp的50分作法,原來沒作過,可是貌似T1和T3有些能拿到的分並無拿到,可是後面的亂搞都補回來了。T2的鍋我也沒有發現,也沒有什麼影響。最後ag滾粗。

2.21

時間過得好快啊。

今天心情不是很好,原本能想到的題沒有想出來,能拿到的暴力分也沒有拿全。

先看T1,40很顯然,60推了一下好像能夠直接矩陣乘,打了打發現不對,須要在一個矩陣內乘起來統計答案,不可作,棄療,看T2,發現鏈上的我竟然也不會。打了40分暴力,發現時限30s,有打了個小騙分,可是也沒造數據,就玄學的估計了個上限讓他跑去了,T3的50分比較簡單,hash水了一下,發現正解應該是後綴數組,可是以爲那樣沒辦法判斷是否重合,判斷是O(n)的,因而就沒有寫。40+20+50=110,rank8,T2暴力果真掛了。T3後綴數組硬跑貌似能得80分,sam+lct的暴力90?但願能趕快調整狀態吧。

2.23

轉眼兩天就又過去了。大年初八了,不知道十五放不放假,這兩天沒事就刷空間,比較頹廢,可是若是不這樣的話,我都不知道我會是哪樣更糟糕的狀態,消愁,沒法消愁。考試先看T1,吉司機線段樹?不會。看T2,爆搜?不會。看T3,LCT維護子樹信息,不會打,棄療。以爲考試不能爆零啊,回去看暴力分,以爲T130的暴力和T2的30應該很水,T1 1e5的隨機數據不太清楚,打完T1暴力想分塊,發現對於取max操做,覆蓋的區間(排序後的)是單調不降的,複雜度O(n*sqrt(n)*log(n)),卡卡常應該有戲,碼碼碼,還剩90min左右拍上了,看T2,打完30暴力看着1000的數據範圍以爲網絡流,想了一個錯誤的費用流建圖越走越遠,T3暴力也沒寫。考試結果說明了一切,20+30+0=50 rank10,T1以爲很穩結果沒有考慮add=0就掛了,可是貌似T1全場都會並且基本都掛在這了,也沒什麼可說的。T2想到了網絡流,可是方向錯了,一直在想費用流建圖,卻沒有想最小割方面的,最後沒想出來。T3看到1e4就沒想着打O(n2)暴力,與30(40)分擦肩而過。LCT仍是比較妙妙啊,我仍是不會打啊,這題就是大融合+動態樹好題啊,只想到了維護子樹信息,也沒着手去打,自我感受仍是比較準確的,233。老呂下午好像講了講,好像不怎麼針對我了,也許以爲我快退役了吧。怎麼今天寫這麼長啊,跟遊記似的。

2.25

怎麼轉眼過了兩天啊,昨天我幹啥了。好像刷了一道半羣論。

考試依舊爆炸,心態也平穩了許多,整場考試一直在推T2,可是卻沒有想到把最大公約數提早,並且一點暴力分都沒有。T1一直在想置換的東西,許久不作dp題,如今一點感受都沒有了,根本沒有想到。T3想打5分暴力呢,打着打着發現有坑,乾脆棄療。20+0+0=20 rank11(tot=12)操,不能再這麼GG下去了,下幾場考試必定要努努力,告訴他們我有能力!flag++;下午基本是在頹廢,晚上把T3抄過了,準備把昨天的1478水一下,估計要是不作置換,T1沒準還能想到呢,真操蛋。說白了仍是對知識點不夠熟練。誰知道還能學到何時呢。T3是集訓隊互測題,貌似也就這樣,再讓我學半年多我確定虐他們。不行,個人數學如今差了好多呢,給補補數學。

2.28

考試,先看T1,判負環?spfa?只會二十,再看T2,各類找規律,好像有七十分,寫,寫完發現T3是原題,抄抄抄,寫完T3又回去寫了一下T1的亂搞。40+50+100=190 rank3。ccc,下午被老於查水錶了,T3翻車了。被教訓時還順便請了個假,我十五要回家。無論那麼多了,瞎jb學吧。

3.2

5小時8道題的ACM我的賽,然而我只能作六道。

G是WQ的題,他寒假和我說過,打算先切掉那個(while(1)flag++;),推了一下式子發現很簡單,寫寫寫,寫了一個小時啊,沒調出來,這時候發現兩三我的都A了T2了,打算先看看T2,緩一緩,發現是SB題,直接樹剖套主席樹,查詢直接二分就能夠,20min碼完,樣例直接過,交上去1A。接着回去調G,又過了快一個小時,仍是沒調出來樣例,無奈!!!又看了一下榜,發現H題好像可作,這時候發現wzz和srs已經A掉zzh的LCT了,感受很吊。因而去切H,推了一下式子發現是傻逼多項式求逆的題,30min切掉,看榜,A題A了一片了,好像是被暴力踩過去了,我還不能作,都怪我沒有好好驗題!接着回去調G,打了個暴力拍+肉眼查錯,10:10調過了樣例,感受很穩,交!TLE90%!操???卡常,WA88%!無語,只能先拍着,發現大多數人在水掉A以後都比我高了,必須至少在切一道,讀了一遍題,發現F好像是個傻逼線段樹,寫!11點半寫完,過了小樣例,大樣例一點不對,調!發現了好幾個傻逼錯誤,最後11:50調過了,交!A了,如今第五,G題又交了好幾遍,都是WA。看了一下榜,zyf和wxhao都比我高28分,發現還有一個30分暴力沒寫,12:05寫完了,樣例不過?!肉眼查錯,十分緊張,渾身是汗,爲了翻過去他倆,發現有個地方少減一,減掉過了樣例,交,30分到手!,看榜,wxhao把我那題的數數分得了,高我8分,rank4。第一次打這種比賽,挺爽的。但願之後還有機會!

那麼之後題解也寫到這裏吧!

就從此次考試開始

A題,正解是LCT維護子樹信息,f[2][2]分別表明splay鏈頂和鏈尾選不選分別轉移就行了,還要記錄虛子樹信息。挺不錯的一道題,然而我驗題沒有寫程序,被暴力踩了,個人鍋。

B題,水題,樹剖+主席樹,貌似正解是總體二分。沒寫。

C題,calc線段樹或CDQ分治,都不難打,CDQ:按x座標排序,每次按y排序,對於前面的維護一個x遞減的棧,後面的維護x遞增的棧,再在第一個棧裏二分。

D題,很巧妙的一道題,第一問咱們將磚按h從大到小排序,同樣的按key從小到大,每次按照乘法原理乘上可能放的位置數量。第二問維護一個線段樹和一個set,set按字典序排,線段樹按h排,每次在線段樹中找到第一個key爲1的地方,若是有,他就是答案,地方過小,證實寫不下。沒有的話,直接找當前還剩下的字典序最小的就是答案。

E題,出題人最帥!題仍是不錯的,無根樹轉有根樹,以後枚舉子樹大小dp,加上一些組合數,比較巧妙。

F題,線段樹子序列最大值,區間翻轉,單點修改。貌似是網絡流模型用線段樹優化,然而並無想到。

G題,wq的題,考完試發現我WA88%是由於double精度炸了。應該把分式通分上去。挺水的。

H題,推一下式子發現$H=\frac{1}{A-1}$,裸多項式求逆。

完結撒花!

3.4

看T1,多項式求逆裸題,一開始傻逼寫了個快速冪,調了1h發現乘出來是0,有毒。而後大概在90min時寫完了,拍上了,題意也不清楚,其實應該是幾個肽都算,題裏非說是多肽鏈。而後看T2,式子好長懶的看,就去看T3,推了一個O(n2)的式子,感受還能接着推,因而推了2hT3,然而什麼也沒有推出來,最後回去看T2,發現是字符串的題,可是什麼算法複雜度都不對,最後打了一個30分暴力+減枝。100+40+20=160 rank5。減枝多了十分!T2也是FFT???有毒。。。貌似bug被發現了,我還被表了一頓。

T1,等比數列求和,上面的$F^{n+1}$在模$x^{n+1}$意義下必定爲0,因此就是裸的多項式求逆。

T2,字符串匹配,翻轉A串,0變成-1,1仍是1,乘出來相同的就是1,不一樣的就是-1,而後手算一下就行了。貌似wq用bitset水過去了。。。$O(\frac{n^{2}}{32})$十分優秀。

T3,不錯的數學題,推一下式子吧,咱們發現要求的就是${a*(a-1)|n}$&&${a*b|n}$的方案數,咱們考慮對於一個符合條件的$a$,那麼$b$要是$\frac{n}{gcd(a,n)}$的倍數,因此共有$gcd(a,n)$種方案。這樣能拿到20分。(抄題解了!)在上述過程的基礎上繼續推導,因爲 $gcd(a-1,a)=1$,故 $a-1$ 和 $a$ 必然包含 $n $質因數分解中不一樣的兩部分,設其爲$p,q$,有$pq=n$,設$a=k1p$,$(a-1)=k2q$,有$k1p-1=k2q$,等價於 $k1p≡1(mod q)$枚舉$ n $之內全部可能的$ p$,因爲$ p$,$q $互素,故$ k1p(k1p<n→k1<q)$遍歷整個 $mod q $剩餘系,方程有惟一解,故全部$<n$ 合法的 $p$(知足 $gcd(p,n/p)=1$)都會對答案貢獻 $gcd(p,n)=p$。結論:設 n 的標準分解式爲$\prod{ pi^{qi}}$合法的 $a$,$b $二元組個數$R(n)=\sum_{d|n,d<n,gcd(d,n/d)=1}d=\prod{ (pi^{qi}+1)}-n$,$R(n)+n$ 爲積性函數,故可用歐拉篩法 $O(N)$預處理全部的 $R(n)+n$,而後 $O(N)$求和。這樣就有50分了!後面是我本身推的式子,咱們發現如今要求$$\sum_{i=1}^{n}{\sum_{d|i,gcd(d,\frac{i}{d})=1}{d}}$$

設$t=\frac{i}{d}$,原式$$=\sum_{i=1}^{n}{\sum_{d|i}{\sum_{k|d,k|t}{\mu(k)\cdot {d}}}}$$

$$=\sum_{i=1}^{n}{\sum_{k^{2}|i} {k \cdot \mu(k) \sum_{d|\frac{i} {k^{2}} }{d} } }$$

$$=\sum_{k^{2}\leq n}{k \cdot \mu(k)  \sum_{i=1}^{\lfloor \frac{n}{k^{2}}\rfloor} { \sum_{d|i} {d}}}$$

$$=\sum_{k^{2}\leq n}{k \cdot \mu(k)  \sum_{d=1}^{\lfloor \frac{n}{k^{2}}\rfloor} {d\cdot \lfloor \frac{n}{k^{2}\cdot d}\rfloor}}$$

而後就能夠$O(\sqrt{n})+O(除法分塊)$了

3.7

今天炸的忽然有點感受了。可能這是真的努力卻失敗的心情吧。srs好神啊!!!

考試時,先想T1,沒有注意到a是連續的這樣一個條件,發現怎麼都要$O(n^{2})$,因而寫完30分暴力就去看T2,想了想,好像能夠LCT維護一會兒樹最長鏈,因而一直在寫,而後一直在調,失敗,心態爆炸,最後T3暴力寫了個搜,指望得分0,實際得分0。並且今天的題應該來講都是本身所擅長的,T1的樹狀數組,不難想也不難寫。T2就是一個dfs序貪心。T3是矩陣乘亂搞。然而今天倒是炸的很慘的一天,也許是和東師大聯考亂了吧。這場考試太棒了!

T1,咱們能夠枚舉c,發現每一個b所能作出的貢獻必定 是一段連續的區間,因而就能夠樹狀數組維護了。

T2,咱們發現選一個節點時,必定還選了他的最長鏈的兒子,和其餘兒子沒有關係,因此咱們把他的那個兒子和他的權值合併,最後直接取前k大的便可。

LCT也能夠過,要維護splay子樹中的虛子樹信息。

 T3,發現能夠直接鄰接矩陣快速冪亂搞,咱們搞出一個2*n階的矩陣,左上角是正常的鄰接矩陣,右上角是空矩陣,左下角和右下角都是單位矩陣,直接快速冪上戰鬥機就能夠了。

吸收教訓,來日再戰!

18.3.9

開場看T1,想了一會,好像是網絡流???後來發現二分加貪心就行。寫,一遍就拍上了。看T2,指望??只會20分暴力,寫,過了樣例,輸出了一些數據,發現每動一次x[i]=x[i-1]+x[i+1]-x[i],而後寫了一個40分模擬,再看,發現好像有循環,並且長度不會太長!暴力找了一發循環節,又想了一會,沒想到正解。看T3,woc,又是原題,好像又是一道很噁心的,寫吧,寫了快2h,跑過了大樣例。最後看了一下T2,好像100不難想,可是沒時間了。以爲270很穩。然而,,,70+70+85=225 rank4,T1怎麼掛了??二分右端點設成m了,,T3怎麼掛了??被卡常了。。。T2好像個人複雜度不對。。。然而只有T2估分正確了。ccc。

T1,二分加貪心,也能夠不二分,就是貪心去掉人最多的項目。我寫的二分。md,考試時右端點設成了m,gg

T2,40~70分拿到以後,發現這個東西每次修改就是交換先後兩個差分數組,而後跑出來每輪的循環節%一下就能夠了。

T3,原題,自動機優化dp。

恩,就這樣。少犯低錯多拿分。

18.3.10

老呂好像說今天的題很難,好像確實是這樣。開場看T1,這,,這不是很簡單的數位dp嗎,枚舉長度不就行了,然而一直沒寫出來,後來寫了個暴力,發現了一些小規律,就致力於打表,打了3h表,以爲能拿70分,看T2,三角剖分!平面圖?然而我不會啊,發現bfs能水30分,就寫了,寫完又想了想dp,沒想出來。。看T3,隨機樹,求全部奇數條邊路徑的中位數之和,這不是主席樹題嗎,算了一下,好像能拿30分,懶得寫了,寫了個大暴力,以爲仍是有20分的。70+30+5=105 rank3,T3gg,桶是個好東西。T2的分治真的沒想到啊,T3利用樹高指望暴力亂搞,T1下午改了改暴力就過了。

T1,暴力!發現一個合法解的後綴也是合法解,亂搞就行了。

T2,分治,每次找最中心的線,分治下去,直到一個三角形,對於每一個塊bfs,存到兩端點的距離。分治要完全!

T3,考慮從小到大插入每條邊,插入的權值爲1,未插入的權值爲-1,f[i][j]表示i的子樹中到i距離爲j的方案,每次修改暴力爬父親,同時統計答案,由於樹是隨機的,因此複雜度是正確的。

還要努力啊!!!

18.3.12

逆襲成功?開場看T1,7000,直接爆搜啊,好像會出環,記錄一下不就行了,寫了90min,過了。而後去想T3,想樹套樹,失敗,KD樹,失敗,發現暴力五萬沒準能過,因而去看T2,20分傻逼爆搜,30分purfer,50分matrix-tree,寫。想了想正解,沒想出來,去看T3,發現傻逼莫隊啊,寫,O(log)轉移的。寫完拿50000的大樣例測,1s,2s,,,10s,,,十二秒纔出數,GG。100+50+20=170 rank1。多久沒打過rank1了,好爽啊。

T1,直接dfs,須要記錄當前點是否在環裏,或者是否可能在環裏。

T2,能夠發現,一棵樹須要的操做次數就是總邊數減去與原樹的公共邊樹,那麼上matrix-tree定理,由於求出的是每一個生成樹邊權積的和,那麼咱們設在原樹裏的邊權值爲1,不在原樹裏的邊權值爲x,那麼最後求出的多項式對應$x^k$前的係數就是有k條非樹邊的方案數。可是這樣複雜度不夠優秀,因而咱們考慮插值或者高斯消元,咱們強行代n個值進去算出對應的答案,而後就能夠$O(n^3)$求出原多項式了。

T3,好神的一道題,正解是主席樹and樹狀數組。首先咱們對於每一個點求出他後面大於他並且可能對答案形成貢獻的,由於$a_{i} \leq a_{p} \leq \frac{a_{i}+a_[j]}{2}$,因此總點對數是O(nlog)級別的,而後咱們將詢問按左端點從大到小排序,隨之維護一個指針,每次將其對應的點對插到樹狀數組裏,樹狀數組維護最小值就能夠了。

保持狀態!

18.3.13

再次GG,開場看T1,並不會作,因而看T3,發現枚舉一個而後lucas就有50分,寫完想70分,沒想出來,看T2,發現30分直接暴力+單調棧就能夠,而後寫,最後去看T1,仍是一點不會,硬dp吧,而後又把鏈的10分寫了,最後又回去推了推T3,沒推出來。50+0+50=100 rank8,T2爆零??,woc,還要模!!真的會出現忘記模這種事情啊,我之前一直覺得這樣眼必定是瞎了。。。好吧,我瞎了。。加上30rank4,也是GG啊。

T1,先考慮鏈上的狀況,答案就是序列長度減去最長上升子序列,那麼樹上的就是樹的大小減去最大的小根堆的大小,而後考慮40分的dp,f[i][j]表示以i爲根的子樹,堆頂權值大於等於j的最大小根堆的大小,而後子樹直接合並就能夠。可是這樣時間複雜度不合法。咱們考慮差分最大值,加法仍是能夠同樣作,更新也能夠直接作,在上一個處減一就好了。好騷啊。差分最值的操做真的是第一次見。

T2,應該是最簡單的一道題了吧,咱們仍是考慮從小到大插入每一個數,每一個a中的區間在ta中會對應若干個區間,又會在tta中對應若干個若干個區間,因而咱們一個個點亮每一個點,他作出的貢獻就是tta中新加入位置的個數,這個能夠差分獲得。發現貢獻就是前綴和和前綴和的前綴和,注意首位要特殊處理。

T3,很是吊的lucas應用,首先咱們發現若是硬組合數的話沒有什麼規律或者有用的性質。因而咱們考慮轉化一下條件,設三種走法分別走了a,b,c步,a+b+2*c=n,a-b=m,等價於a+c=(n+m)/2,b+c=(n-m)/2。因而咱們枚舉c,設n=(n+m)/2,m=(n-m)/2;咱們須要算出C(n+m-i,i)*C(n+m-2*i,n-i)*C(m-i,m-i),這樣仍是不是很優美,因而咱們再變一下形,利用已知量,就是C(n+m-i,n)*C(n,i),咱們發現mod不是很大,因而考慮lucas,咱們在p進制下進行數位dp,從低到高枚舉i的每一位是什麼,可是這樣的n+m-i的該位可能小於0,這是不合法的,可是這種i是存在的,這時候咱們就須要從下一位借位,而後dp數組就記錄是否借位就行了。

細心,細心,再細心!

18.3.16

媽的,昨天上午考的試,如今才tm改完題,真tm爽。

T1,正解要用pick定理,寫的O(n^3),就是枚舉三角形的外接矩形,而後算被包含點的和。

T2,很優秀的dp,首先就是我上午說的那個式子,對於斷點前的每一個後綴sum[0]>sum[1],斷點後的每一個前綴sum[1]>=sum[0],不然易證該斷點是不合法的。而後就是對於貢獻的轉化,len*y能夠當作先在整個非降低子序列中任選一個元素,再在子序列的1中任選一個元素的方案數。可是這樣咱們仍是不能作到O(1)遍dp就處理出每一個斷點須要的全部答案。那麼咱們考慮這樣一個事情,就拿斷點前的舉例吧。咱們從頭開始,記錄一個cnt,當遇到一個1時,就讓cnt=max(2,cnt+1),遇到0時,就讓cnt=max(0,cnt-1)。咱們會發現,這樣作完的cnt若是不爲0,那麼這整個前綴是不可能在這裏成爲斷點的,由於必定有一個後綴,他的sum[1]>=sum[0],同理,咱們能夠再倒着處理一遍,這時候就須要知足後面的那個不等式。因而咱們再結合上面的選數,f0/1[i][j]就表示以i爲斷點的最終序列cnt=j時0的那段選0/1個數的方案g0/1/2[i][j]就表示以i爲斷點的最終序列cnt=j時1的那段選0/1/2個數的方案最後的答案就是$\sum_{i=1}^{n}{f0[i-1][0]*g2[i][0]+f1[i-1][0]*g1[i][0]}$這個轉化真的沒有想到,可是其實並非太難想,是我太菜了。

以上。

T3,Trie樹哈希+二分。很輕真的思路,可是一開始的轉化也很巧妙。就看每一個位置向前能匹配幾個串,向後能匹配幾個串,而後就能夠想到前面那個優化了。

思考!

18.3.17

是放假因此沒有深刻思考仍是考試策略出鍋致使考試崩潰呢?

先看T1,一眼網絡流,兩眼最小割,三眼不會作,打了個暴力就沒再想,看T2,貌似不可作。看T3,LCT,在cdqz見過,想寫,寫寫寫,寫了1h發現本身不會統計答案,yy了一發,失敗了,就打了個暴力,最後以爲T2可能比較好推,因而一直推T2,而後就GG了。

T1,網絡流加反向inf邊,cdqz原題?忘了。

T2,比較套路的計數題,就是枚舉1號點所在聯通快大小。對於計數題,思惟很弱。

T3,lct,統計答案只須要線段樹維護dfs序,dfs序即便換根也能夠經過討論正確維護子樹信息。

努力!

3.19

昨天晚上打了UR17,十分滑稽。

考試看了一遍題,感受T3很好玩,就去看T3,發現有10分是白送的,就寫了,而後就不會求一些奇怪的指望了,而後又隨機亂rand也沒發現什麼規律,最後又寫了兩個特判就跑了,再去看T2,仍是不懂讓幹什麼,發現外面的提問都是在問T2,因而就去看T1,發現必定是一條鏈,數據範圍有給鏈的??又證了一遍,發現的確就是一條鏈,有毒,還有數據是保證字典序最小,不會又是全部數據都知足吧,證了一下也沒證出來他不對,就小範圍暴力鏈上dp,大範圍跑貪心字典序,發現大樣例能過。以爲挺吊。最後去看T2,仍是不明白,瞎dfs了一遍,以爲能拿5~20分。然而我卻忘記了這是UR,40+5+10=55 rank20,因爲我最後手賤又交了一次,致使rank--。rating居然漲了!!

T1,我沒有弱智的發現最優解並不必定是字典序最小,f[i]表示權值爲i的根消到0的最小花費,不算本身。要把都有的位的代價單獨算

T2,二分答案,f[i][j]表示可否在限制內到達i點j邊,而後bfs轉移就好了。

T3,咕咕咕

3.20

考試繼續,先看T1,傻逼貪心?發現不太對,前面的能夠貪心出來最優解,後面的亂搞了60分作法,一直在想怎麼優化,沒有去想怎麼貪心。以後去看T2,01Trie上dp?不會,打了20分暴力,去看T3,只會爆搜,寫了20分爆搜,再去看T2,這tm不就是個2-sat嗎,可是好像邊數是O(n^2)的,無論了,先寫吧,寫了很久調過了樣例,和暴力拍,小几率出錯,發現好像加邊錯了,而後就一直在yy加邊,最後交了暴力和2-sat的混合版。最後發現T1好像要開long long,可是沒時間改了。233。20+80+16=116 rank2,T1炸int了40,T2假的2-sat有80分,好像由於沒有捆綁測試,puts("YES")有60?T3有個點T了。GG,下午把2-sat搞懂了,想了半下午T1,剛了半下午T2,看了一夜T3。233

T1,分別貪心搞出第i件衣服洗完烘完的時間,ans=max(a[i]+b[l-i+1]),咱們考慮把洗的時間的柱形圖放在下面,烘的時間的柱形圖反着放在上面,而後拼在一塊兒,合着的就是正好的答案,感受說不清楚,至少我感受如今我明白了,每一個柱子能夠當作一個機器的前綴和。

T2,Trie優化2-sat建圖。對於Trie樹上每一個節點,須要有兩個點來表示是否出現過他的前綴,而後咱們對於每一個字符串,新建一個其本身獨一無二的Trie樹節點,同時把原來對應相同節點的字符串的新節點抻成一條鏈,而後父子間建邊,父子再分別和兒子對應的字符串連邊就行了,字符串的對應圖論節點就表示是否選他,若是沒有問號,就連1->0的邊,表示強制選0,2-sat的反向邊是說的逆否命題。

T3,牛逼題。

dp,f[s][x][p1][y][p2],表示線索x(向右走)的p1後的全部位匹配成功(包括p1),線索y(向左走)的p2前的全部位匹配成功(包括p2),如今已知足和正在知足的線索的集合爲s轉移有兩種,一種是直接添加數字,對於x線索,新加的數字要麼是a[x][p1+1],要麼在a[x][1]~a[x][p1+1]中出現過,此時p1不變對於y線索,新加的數字要麼是a[y][p2-1],要麼在a[y][1]~a[y][p2-2]中出現過,此時p2不變,另外一種是換線索,(x,p1)->(x1,0),或者(y,1)->(y1,p3),更換x時,須要保證把x1接上後a[x][p1]~a[x][len]都知足,更換y時,須要保證把y1接上後a[y1][p3]~a[y1][len]都知足,一些邊界寫的不太清楚,本身體會吧。

思考!

18.3.21

開場先看T1,這不是cf那道神題嗎??不會作啊,一會再寫暴力吧。看T2,裸dfs序啊,線段樹維護一下就行了,碼碼碼,碼好了,樣例不對,發現貢獻算多了,這個好像給維護一個前綴和啊,平衡樹!n^2的啊,啓發式合併!寫寫寫,怎麼搞答案,二分?直接在平衡樹上跑不就行了!寫完過了樣例就拍上了,還拍出來暴力一個錯,以爲int很穩,就沒有define int long long,看T3,什麼玩意,看不懂題啊,寫暴力吧,好像特判一下就能夠了,寫了30分,發現T1暴力還沒寫,趕忙寫完過了樣例就交了。5+85+30=120 rank4,T1怎麼掛了?tmp寫成了p,T2怎麼掛了,int×int=long long boom!T3我怎麼分最高啊,吊吊吊。2333

T1,枚舉凸包最上面的點,將全部n^2條向量按照傾斜角排序,而後依次更新就行了。原來這麼簡單。

T2,平衡樹維護t[x]+dep[x],直接跑就行了,啓發式合併。

T3,好吊啊,若是對於兩個多項式P^2=A,P是n項,A是2*n項,那麼咱們對於任意的x值,都會有P(x)^2=A(x)。可是這道題並非普通的乘法,而是循環卷積。其實咱們仍是能夠把A當作2*n項的,可是這時x的取值就有了肯定的限制,須要知足x^n=x^0=1;只有這時候纔會知足P(x)^2=A(x)。而後咱們發現n階的單位複數根是知足這個條件的,因而咱們把W0~Wn-1拿出來做爲咱們的x而後這時候咱們只須要求值,開方,再插值,就能夠獲得對應的多項式了。求值咱們能夠直接暴力O(n^2)作,開方時會出現一個問題,一個複數開方會獲得兩個複數,這時咱們就須要狀壓枚舉每一個開方選的數,最後插值咱們就能夠按照idft(fft的逆變換)的暴力方式,O(n^2)求出對應的係數,而後咱們只需暴力判斷這個序列是否是都是非負整數就能夠了。可是咱們發現這樣複雜度是O(T*(2^n)*(n^2)),這是咱們不能接受的。因而咱們再次研究一下奇怪的性質,咱們會發現,對於迴文的P,A=P^2必定也是迴文的,一樣,由於(Wi)^k=(Wn-i)^(n-k),Wi求出的值也必定和Wn-i求出的值是同樣的因而咱們只須要枚舉一半點值就能夠了,複雜度O(T*(2^(n/2))*(n^2))。

注意細節。

18.3.23

又考試,先看了一遍題,T1不是很清楚,T2好像是數位dp+矩乘優化,T3聯賽前達哥出過?先看T3,發現模數可能不是素數,發現70分能夠直接lucas+crt亂搞,而後就去看T1,發現30分能夠直接暴力,50分枚舉一下哪些權值出現了,而後斯特林數,以後就不會了,開始寫,寫完過了樣例,以後去打T3,打完造了幾組小數據查出來幾個錯,最後看T2,打了表,沒找出來什麼規律,最後交了10分暴力。30+10+80=120 rank5,T1掛了20,爲何呢?n=50 m=4,我寫的1<<n*m,有毒。掛的好慘啊。GG。

T1,定義三個函數

f(n,m)表示n個點,點權是0到2^(m−1)的隨機值時全部狀況的最小生成樹的和

g(S,T,m)表示一邊有S個點,一邊有T個點,點權是0到2^(m−1)的隨機值時全部狀況的鏈接S,T集合的最小邊的和

p(S,T,m,k)表示一邊有S個點,一邊有T個點,點權是0到2^(m−1)的隨機值時最小邊大於等於k的狀況數

而後轉移看代碼,很好理解。

感受本身永遠想不到這種狀態定義和轉移方程。思惟不夠開闊。

T2,這居然是道數學題,咱們發現若是整個的數字是循環節大於1的完整循環,那麼是必定不符合條件的,因而咱們能夠容斥亂搞一下。而後就是一些傻逼結論和杜教篩,正好複習了杜教篩,感受很不錯。若是$h=f×g$,那麼$F(n)=H(n)-\sum_{i=2}^{n}{g(i)*F(n/i)}$

T3,求組合數模一個合數的值,咱們分解爲若干p^k,而後經過階乘亂搞(把每一個階乘寫成a*p^b的形式,a爲%p^k意義下的,同時咱們須要獲得a對於p^k的逆元)搞出來對每一個p^k的答案,最後再用crt搞一下就能夠了。

思考!

18.3.25

開場看T1,最大密度子圖?m=2e5??算了,暴力二分網絡流吧,好像會被卡邊界,換實數流,woc,爲何這麼慢?那我先分出來整數答案,再實數跑一遍不就行了!打完,過了樣例,兩個網絡流就拍上了,看T2,三維幾何??貌似不難,搞一個距離,搞一個對稱,對稱,對稱怎麼搞?操,不會。先去看T3吧,暴力亂搞,1000一下很穩,打表,發現有的打不出來,而後就一直在打能打出來的。最後打了T2的一個特殊狀況。把T3 1500以上的表能打出來的都打出來了。90+0+40=130 rank1。T1 90???卡常+O3 woc A了。T2爆零了,woc,末尾有個句號!操!T3只有40,傻逼出題人故意卡我吧!正解根號算法?沒深刻想。

T1,網絡流,咱們發現答案是$\frac{\sum_{i \in S}{sum[i]} - cut(S)}{2* \sum_{i \in S}{a[i]} }$ sum[x]爲x連出的邊權總和,cut是鏈接S和外面元素的邊。而後就能夠按照文理分科的套路去二分答案了,就是與S相連表明選,與T相連表明不選,再處理一下每一條邊就能夠了。

T2,計算幾何,兩點法表示每條直線,而後有一些高考數學的小技巧,考試時感受很亂,實際上是思路沒有理清楚。其實也不麻煩。

T3,就在暴力的基礎上改爲枚舉根號以上的因數,根號如下的狀壓dp,很巧妙的根號思惟。

思考,思考!

18.3.26

先看T1,三維的約數個數和?不會,只會暴力,寫了一個40分上去,去看T2,發現好像O(n^3)dp很簡單,梳理了一下思路就開始打,而後就一直在打,大概還有90min的時候,看了一下T3,看錯題了,當作一個點集了,沒有思路,繼續死磕T2,而後失敗,最後T3puts("25"),居然拿到了10分。GG。40+12+10=62 rank11,又倒數了,此次是考試策略不太對,並且對題目的估計出現了誤差,以爲T2是最可作的,可是個人思路想偏了,記得這種dp的題個人思路若是一開始不對,考試基本就gg。還有就是對於時間的分配和審題的問題。之後都要注意,應該省選前也沒幾場考試了,珍惜,努力吧。

T1,不是很難,就是三維的約數個數和。式子懶的寫了,就是枚舉i,在枚舉j和k的gcd,而後調和級數枚舉j,k,暴力判斷j,k和i的gcd等於1

T2,f[i]表示長度爲i的非降序列的方案數,發現答案就是i的方案減去i+1對於i貢獻的重複的東西。這個dp其實並不難想,也不是很坑或者很繞的題,可是我卻想錯了,並且整場考試浪費在這一道題上,可能說浪費有點不合適吧,可是我卻由於這一道題,失去了其餘兩道題的得分可能,我想的錯誤作法是dp時直接統計方案數,其實一種序列作出的貢獻是能夠直接計算的,正解說的按照長度來統計貢獻若是說須要思考一下的話,那麼zzh的那種統計序列長度和違法個數能夠說是比較容易想到了,反正我那種dp是絕對錯誤的,個人貢獻是有不少條件的,而我又沒有辦法去限制這些東西 ,GG。不能再GG了啊!

T3,裸的半平面交,二分答案,發現去掉連續k個必定是最優的,因而直接半平面交判斷是否有交集便可。

珍惜。

18.3.27

今天,怎麼說呢,兩場考試都是由於一些特別小的細節掛了,太大意了,之後要認真檢查代碼。肉眼差錯很好用!

上午的考試,先看T1,一眼傻逼容斥,寫着寫着發現不太對,有毒,而後打了爆搜就先棄了,以後看T2,。。原題?這個題我記憶很深入,以前的分治不完全,因此在bzoj上TLE,此次很輕鬆不到1h就寫完了,而後看T3,百步穿楊???woc,以前沒作,現推吧,發現很水,而後寫寫寫,還有90min時寫完了,感受200分很穩,而後看T1,寫了個60分暴力,而後就結束了,T3爆炸40分,調了半個晚上發現網絡流初始化e=1。T1就是很神的狀壓dp,不太會。GG 60+100+40=200 rank8

下午接着考試,先看T1,LCT?正想怎麼維護信息呢,發現只有加邊,並且好像有些很好用的性質,而後寫,寫完了,樣例WA,查錯,又WA,手玩,發現有一個環的狀況,而後就不會了,打了60分暴力,T2,傻逼樹形dp啊,發現不一樣距離貢獻不同,無法寫了,yy了一下鏈上的貪心,和小暴力拍上了。看T3,之會log^3傻逼作法,先寫,還有不到半個小時想到了一個動態開點線段樹作法,不虛,寫,最後沒調出來,gg,吃完飯回來一眼發現沒有寫a[x]=y,交上去就A了。 55+40+50=145 rank9

怎麼每天炸啊!!!!!!!!!!!!!!操!

我要進省隊,我要進集訓隊!!!!!

18.3.28

又考試,先看T1,這不是昨天的T2放到鏈上嗎?n=50000???寫了60分暴力就先棄了,暴力出奇的穩,一遍過大樣例。看T2,我賭是傻逼網絡流,而後就開始yy費用流,不會,又yy最小割,不會,好像和原來達哥出的一道題很像,應該是分開加不一樣的費用的邊,仍是沒有yy出來。看T3,傻逼數據結構,寫完暴力想沒有修改的,好像原來作過一道這樣的,不會。又想鏈上的,仍是不會。而後回去打T2的爆搜,打完就考完了,wq沒看見11點考完,哈哈哈哈哈。60+16+20=96 rank7,一天前進一名,到省選我就rank1啦!

是時候補補這兩天的題了。

18.3.27 morning

T1,這個dp太牛逼了,設f[i]爲長度爲i的上升序列的末尾的最小元素,那麼咱們設F[s][s0]爲當前所選集合爲s,s的f數組中包含的集合爲s0,這樣就能夠枚舉後面的元素直接轉移了,咱們按照a序列的順序加入,這樣就能保證序列是合法的,最後咱們只須要將s0大小爲m的統計起來就行了。這種dp原來歷來沒有遇到過,很是巧妙,一維是當前所選集合,一維是該集合的某個信息數組的集合。

T2,原題,可是我此次好像打得比較漂亮,放上代碼吧。

T3,百步穿楊那道題,如出一轍,考場上yy出來了,可是網絡流e=1,gg,就是把每一個格子拆成一個橫着的,一個豎着的,而後豎着的炮咱們反着連,橫着的炮正着連,最小割,連到每一個點就表明選他,邊權就是那一行(列)的最大值-權值。而後相交的位置咱們連一條inf邊就能夠了。

18.3.27 afternoon 這場是樹專場啊

T1,實際上是個大分類討論,就懶得寫了。簡單說一下吧。若是有一個度數爲3的點了,那麼答案只能是他和他周圍的三個點,咱們暴力維護去掉這四個點的圖,而後判斷。不然度數都小於3,那麼只有多是鏈或者簡單環,咱們發現若是有一個以上的環答案必定是0,那麼出現第一個環時,咱們搜出環上的點數就能夠了。

T2,樹形dp,f[i][j]表示i去的關鍵點是j時以i爲根的子樹的代價總和,而後關鍵點的代價咱們在他和他父親的關鍵點不一樣時纔算上,這樣的貢獻是正確的。感受本身dp好弱啊。操。

T3,直接對於每一個權值離散一下而後樹剖+動態開點線段樹就能夠了。

18.3.28

T1,決策單調性,然而我如今並不知道怎麼亂搞。

枚舉決策點,若是i的決策點是j,那麼i後的決策點都不可能在i以前,由於增加的代價要更多。而後咱們對於決策點維護一個棧,當新加入一個決策點時,咱們二分出他從哪裏開始是最優的,而後把他加進棧,而後直接更新就行了。

T2,網絡流,十分優秀,把每一個點拆成三個,一個是他自己,另外兩個分別表明橫向連和縱向連,而後把費用拆開附給4條邊上,真吊。

T3,對於序列分塊,每一個塊維護每條邊的通過次數還有全部點的答案,而後dfs序維護後者,每次修改邊就至關因而區間加,而後單點查詢。

18.3.29時間真tm飛逝啊。

考試繼續。先看T1,多重揹包+徹底揹包?n這麼大?m卻是很小,打了個表,發現後面的直接組合數就能夠了,而後陷入沉思,yy了個二進制分組,發現貢獻會算重,而後就棄了。看T2,生成樹?n這麼小,打完暴力想60分,覺得n很小能夠直接加完邊break呢,後來發現他給同樣的邊就gg了,以後發現能夠直接在線段樹上維護該區間可能的答案,而後把每一個區間的搞出來最多nlogm的,以後在暴力kruscal一下就行了,打完就拍上了,很久沒有A過題了,好爽啊,原本想改爲歸併排序呢,發現跑得挺快,就懶得打了。看T3,只會30分,發現60分直接O(n)判斷修改就能夠,O(n^3)很穩。最後發現T1好像能夠FFT優化,而後趕忙去打,結果沒有模還判錯了,白丟了30分,其實如今怎麼丟的分都不是白丟,不過要長記性,不能老犯一樣的錯誤,掛在同一個地方,40+100+60=200 rank5,T1普及組前綴和優化dp,mdzz。T3卻是真的fft。

T1,暴力dp,前綴和優化轉移,這麼傻逼的題我怎麼就想不出來,操。

T2,線段樹+kruscal。

T3,把矩陣和方陣拆成一條鏈,而後先fft算出每一個可行的位置,在搜出真正的答案,最後在fft統計答案。

加油,加油,加油!!!

3.30

接着考!先看T1,這不是傻逼hash嗎?寫!剛準備寫,看了一眼樣例,發現不對,而後按照樣例的題意yy了一發,失敗了,而後祈禱是樣例錯了而不是題面錯了,而後去看T2,發現只會半徑都相等的,而後看T3,只會暴力。而後老呂來了,糾正了T1的題面。就是我yy的那個題意,然而我並不會作,而後想了一個平衡樹維護當前的匹配長度,剛準備打,發現這tm不就是kmp換了個匹配方式嗎,而後kmp忘了怎麼打了,現場yy成功,打完樣例1A,很穩,而後就拍上了,而後造了組極限數據發現答案都同樣,我也不知道爲何,可是暴力也是這些數,就沒管,看T2,yy了一下n=3的作法,發現能夠固定一點,二分一點,O(1)肯定一點,而後一直以爲是狀壓轉移某一條邊出去,發現並非這樣,以後去把T3的40分暴力打上了,打完發現60分好像能夠直接線段樹,就寫上了。100+40+40=180 rank1,T3不知道爲何掛了20分,long double慢?我又是rank1啦!繼續加油!

T1,kmp,匹配從原來的兩個字符相等變成了上個出現位置距如今的距離相等,而後就直接搞就行了。

T2,拉格朗日乘數,求一個多元函數在若干限制下的極值,而後二分參量mid。

T3,把相乘換成指數的相加。每一個權值線段樹維護一段權值連續的區間,而後每次就是將兩邊不完整的線段樹分裂,將中間的線段樹合併,能夠發現每一個節點只會貢獻一點複雜度,因此複雜度O(nlog)是合法的。

 3.31

先看T1,傻逼數據結構?yy了一會沒成功,一會想出來一個亂搞作法,以爲能A,就寫了,發現隨機數據很穩,而後證了一發證出來是錯的。而後又想了一會,沒想出來。而後就棄療了。看T2,暴力都不會寫。而後看T3,也不會。手畫了一下,發現就是個環套樹,而後直接中間polya不就行了,而後十分開心的打完了一個不完整的正解。而後只剩30min了,趕忙又看了一遍T2,發現能夠搜每一個點到首都的距離,而後趕忙寫上了。60+70+0=130rank3。T3根本沒有考慮子樹同構,子樹同構就tm是個化學樹啊!T1騙分效果通常,T2暴力70,吊吊吊。

T1,考慮一個點最優的轉移點是單調的,因而決策單調性!

T2,網絡流。對於每一個點拆成n個點,0~n-1,第i個點表示dis[x]>i,連S表明真,連T表明假,而後有邊相連的再限制一下就能夠了。

T3,除了環的同構,還要計算樹的同構,就是一個化學樹。

今天爸媽來了,看了個小短片,挺感動的,忍住了沒哭。努力。

hlhlhlhlhlhlhlhlhlhlhlhlhlhlhl

四月又考了4場模擬賽,一次第一三次掛。懶得寫了。

省選來了。

還能夠繼續搞,挺爽。

相關文章
相關標籤/搜索