原创 HDU 5603 the soldier of love (線段樹)

分析:很經典的區間覆蓋問題,給n 個線段,問m 個區間[L,R] ,共完全覆蓋多少條不同的線段? 如果要完全覆蓋,那麼l>=L,r<=R ,如果這個時候我們把區間加入線段的序列,按照右端點r 來排序,用一顆線段樹來維護所有的左端點

原创 2020屆校招總結(更新到所有事情確定爲止)

秋招歷程 10.05 update一下: 谷歌:過hc了,希望有團隊可以撈我 Timeline: 9.26一輪電面 -> 10.14 onsite四輪面試 -> 10.16 HC送審 -> 11.05 HC過了 update一下

原创 Codeforces Round #585 (Div. 2) F. Radio Stations

題意 2−SAT2-SAT2−SAT多了一個邊的範圍,其實只需要把點的範圍加上去就行了即: 第iii個點(l[i],r[i])(l[i], r[i])(l[i],r[i]),那麼構造點jjj,kkk對應l[i]l[i]l[i],r

原创 HDU-5628-Clarke-and-math-狄利克雷卷積

分析: 這個題目要學會數論上面的一個知識點:狄利克雷卷積。 主要要知道: (f∗g)=∑d|nf(d)g(nd) f∗(g∗h)=(f∗g)∗h f∗(g+h)=f∗g+f∗h f∗g=g∗f 這道題就變成了這個f∗1k 時

原创 CodeForces #553 E&F

E. Number of Components 解法: dp[i]dp[i]dp[i] 維護從節點111到iii爲止的∑∑f(l,r)\sum\sum f(l,r)∑∑f(l,r)值。 那麼有dpdpdp轉移方程: dp[i]

原创 hihocoder 1291 : Building in Sandbox (離線並查集)

分析: 主要是第二個條件,題目的意思是,如果我再外面再包一圈(x=0,y=0,x=101,y=101,z=101 )這5 個面上的點能夠不經過正方體到達指定位置x ,我們設這5 個面的所在的連通圖是p 。換種問法就是,指定位置x

原创 南理工校賽I題

分析: 對2_SAT問題還是不熟,比賽的時候感覺像是2_SAT問題,也向這個方向想了,但是沒想出來(好菜)。 2_SAT問題核心還是建圖:比如這題,怎麼建圖?對於第i 層,x[i],y[i] 需要連接的邊是2∗n−1−x[i]→y

原创 Hihocoder 挑戰賽17 String Problem I (字符串HASH)

分析:第一次寫字符串hash,學習的AC代碼的寫法。 其實就是把字符串變成一個p1進制的數(Mod1),由於有衝突:所以用兩種方法表示:p2進制的數。 此題需要注意的點:原串中掃一遍去掉一個點時,如果相鄰的兩個點一樣,那麼去掉以後

原创 Wunder Fund Round 2016 D. Hamiltonian Spanning Tree

分析:樹形DP 主要看x dp[u][1]=min{dp[v0][1]−dp[v0][0]}+∑{dp[v][0]} dp[u][0] :如果u 的子節點中有dp[v1][1]+dp[v2][1]<=dp[v1][0]+dp[v

原创 HDU 5663 (莫比烏斯反演)

分析: 這道題就是一道公式推導題,我再來推一遍公式: 設f(x) 函數: f(x)={1,0,x是完全平方數否則 則ANS=n×m−∑ni=1∑mj=1f(gcd(i,j)) 這個時候只需要維護後面一塊就可以了 TEST=∑i

原创 HDU4417(主席樹)

前言: 今天剛學的主席樹,附上博客:主席樹 個人覺得這篇文章寫的非常好。 認識: 主席樹就是對於序列1...n 的每一個前綴都構造一顆線段樹來維護所要求的值。也就是說主席樹實際上就是n 棵線段樹。那麼爲什麼不會MLE ?這個下面

原创 約瑟夫問題

約瑟夫問題:百度百科 問題: 1,2,3,...,n 這n 個數圍成一個圈,然後從1 開始隔m 個刪除一個數,(即第一個刪除的數是m )。求問最後一個被刪除的數是多少? 分析: 1,2,3,...,n 第一次刪除以後變成了m+1,

原创 HDU5691 Sitting in Line(百度之星2A)

分析: 看到題目第一感覺狀壓DP,由於狀壓DP要能轉移,所以需要知道當前用到的點的集合中最後一個用的點的編號。 所以轉移方程就出來了: dp[i][j]=max(dp[i xor (1<<j)][k]+a[k]∗a[j],dp

原创 HDU 5692 Snacks (百度之星2A)

分析: 題意就是根節點到i 子樹上所有點的最大值,並且這棵樹上的點權可修改。 那麼維護所有點到根的和,如果修改一個u 節點,只會改變根到u 子樹上點的和。把樹用dfs 序遍歷一下,把樹變成一個序列,修改節點就變成了序列的區間修改

原创 HDU5693 D Game(百度之星2A)

分析: 連續消去k 個數,可以表示爲消去了若干次2 個數和消去了若干次3 個數。即k=2∗i+3∗j ,那麼可以消數字就變成了,每次可以消2 個,或者3 個。 f[i][j] 代表i...j 這段數字可以全部消掉,那麼這個狀態可