BZOJ 題目整理


bzoj 500題紀念

總結一發題目吧,挑幾道題整理一下,(方便拖板子)

 

1039:每條線段與前一條線段之間的長度的比例和夾角不會因平移、旋轉、放縮而改變,所以將每條軌跡改為比例和夾角的序列,復制一份翻轉后的序列,直接上AC自動機即可。注意特判

1125:hash+splay

1183:digit-product只可能是2,3,5,7的積,枚舉digit-product進行dp即可

1301:每個點和每個邊只能被刪除一次,隨便搞

1313:上下界最大流

1471:考慮容斥,枚舉兩條路徑相交的位置

1512:tarjan縮點+dp

1519:考慮最后一次耕的地是長,那么可以發現確定左右邊界時上下邊界是一定的,於是就可以\(O(n^2)\) dp了

1533:單調隊列

1535:字符串相關——

1733:k短路

2090:記錄到某位置的最長序列長度,用線段樹優化

2093:倍增

2103:考慮枚舉控制范圍的分割線,兩邊都可以\(O(L)\)計算重心——向最大的孩子方向移動

2213:求任意兩個字母前綴差的最小值、最大值

2288:選的肯定是整段的正數或者負數

2289:二分相交區域的橫坐標,如果當前\(x=x0\)的直線與所有圓有交點,且交集非空,則輸出yes,否則由於相交區域連續,通過圓的位置、斜率它確定在哪一側

2398:這種題明顯就是把兩個子問題擰在了一起,splay+位運算LCP

2614:因為只有當碟子上的數與k的gcd不為一時,才對乘積有貢獻,注意到k的約數個數很少,所以可以把相同gcd的碟子壓在一起。似乎要離散化。

2969:分別計算每一個位置的期望,加起來即可

2704:裸插頭dp

2794:考慮離線,枚舉a,m,f[i]表示用b盡可能大的物品能否湊出i

2916:考慮求答案的補集

2928:考慮分治

2945:一道結論題

2949:嘗試\(O(n^2)\)模擬,每次暴力嘗試將某一只螞蟻向上移動即可

2951:掃描線+線段樹

2979:有下界最小流

2085:hash求重疊長度,然后上倍增floyd

3007:轉化為最小邊問題

3029:暴力上dp

3060:先加入大於k的點之間的邊,然后再去加其他的邊,貪心即可

3188:標記技巧

3283:快速冪,擴展bsgs,擴展lucas 三合一

3325:用類似mancacher的方法求出相同的字符,並查集維護

3337:塊狀鏈表模板題

3347:容斥,分別考慮每種高度的貢獻,該貢獻由:高度為該高度的行數、列數,高度大於該高度的行數、列數

3702:線段樹合並

3834:考慮枚舉答案,推一下式子就會發現可以分塊了

3907:統計越過\(y=x\)的路徑,將這些路徑第一次越過該線的部分按\(y=x\)翻轉

3429:后綴數組

4269:線性基

4305:枚舉公約數,容斥出解

4407:什么時候再去推發式子

4491:線段樹維護

4499:線性函數套線性函數還是線性函數

4578:枚舉分界線

4589:裸異或FWT

4612:分成兩段進行枚舉:枚舉l,枚舉b

4621:最終一定是連續的,所以就可以dp了

4668:並查集奇技淫巧

4688:矩陣快速冪

4691:搜索+壓位

4698:對查分序列建后綴自動機

 

這些都是AC人數不超過185的題

感覺隨便挑一道題就是省選模擬呢~

接下來干什么呢~繼續刷bzoj?刷codeforces?

不造&


免責聲明!

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



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