bzoj題目分類


轉載於http://blog.csdn.net/creationaugust/article/details/51387623
1000:A+B 
1001:平面圖最小割,轉對偶圖最短路 
1002:矩陣樹定理,也可以通過推矩陣的遞推關系得到遞推式 
1003:最短路+DP 
1007:半平面交 
1008:組合數學,需要高精 
1010:斜率優化/四邊形不等式推決策單調性 
1012:線段樹 
1014:Splay維護字符串的Hash值 
1016:矩陣樹定理,相同權值壓聯通塊,對一個聯通塊用一次矩陣樹定理計算方案數,累積答案 也可以DFS 
1023:仙人掌DP找直徑 
1031:直接構建出倍長后串的SA,用rank數組做 
1034:貪心 
1036:樹鏈剖分/LCT 
1038:半平面交 
1041:數論,推一下公式 也可以用一種跟勾股定理相關的做法 
1043:計算幾何,細節已忘. 
1050:並查集,細節已忘. 
1053:爆搜 
1054:模擬 
1059:二分圖最大匹配,對行和列做點 
1061:不等關系轉費用流建圖 
1066:最大流 
1067:線段樹分類討論 
1070:費用流 
1072:狀壓DP,據說暴力可過 
1083:最小生成樹 
1087:狀壓DP 
1088:枚舉狀態,暴力 
1089:找規律,需要高精,也可以用組合數學推一下 
1092:模擬 
1095:動態樹分治,或者dfs序線段樹維護括號序列 
1099:線段樹+分類討論 
1101:莫比烏斯反演,同HAOI ProblemB 
1103:dfs序,或者鏈剖 
1106:樹狀數組.考慮記錄下每個元素上一次出現的位置,然后BIT搞一搞. 
1112:權值平衡樹,中位數相關. 
1113:好像是單調棧掃一掃就沒了. 
1121:一個結論題,答案是n/2. 
1131:樹形DP一下. 
1132:答案的式子可以看出一個坐標的前綴和,優化一下暴力. 
1143:利用那些圖論定理,最長反鏈=n-最大匹配. 
1145:很多種情況,BIT維護一下然后把這些情況加加減減.網上有WJMZBMR題解. 
1146:一個比較模板的題..為了不被卡常卡空間可以考慮把其中一維搞上整體二分. 
1167:空數據,Python 2B 
1176:cdq分治,或者kdtree 
1180:LCT 
1191:二分圖最大匹配 
1192:考慮二進制分解. 
1193:大規模貪心,小規模暴力. 
1195:狀壓DP,與某道TC SRM一樣. 
1202:加權並查集,維護前綴和. 
1208:權值平衡樹. 
1213:二分,Python. 
1214:空數據,Python 2B 
1227:組合,容斥,二維BIT.建議看黃學長題解. 
1269:區間Splay裸題. 
1307:題意是找最大的一個區間使得區間內為一個排列.記錄前驅后繼,可以得到符合條件的判定關系與區間長度,區間最大值最小值差有關.通過前驅后繼來查詢這個東西. 
1318:同1307 
1336:最小圓覆蓋 
1337:同1336 
1342:對當前區間搞了個set. 
1345:規律+結論題,附核心代碼,我也不知道怎么證的

for (int i=1;i<=n;i++) { in(a[i]); if (i>=2) { if (a[i]>maxn) sum+=a[i]; else sum+=maxn; } maxn=a[i]; } cout<<sum<<endl;

1351:空數據,Python 2B 
1360:空數據,Python 2B 
1370:並查集.(這不是某NOIP題嗎 
1379:答案就是m.忘了為什么了. 
1398:KMP最小表示,卡SAM內存. 
1406:數論,找質因子搞一搞. 
1419:DP一下.枚舉選到了i張紅的,然后1~b枚舉選到了多少黑的.似乎需要滾一下數組壓內存. 
1453:方法很多,提供四個.1.LCT維護刪除時間最大生成樹 2.cdq分治+並查集 3.A*爆搜 4.線段樹維護連通性 
1482:空數據,Python 2B 
1492:斜率優化,因為狀態點的x不單調,所以需要平衡樹或者cdq分治 
1500:區間Splay. 
1502:Simpson積分. 
1503:權值平衡樹 
1513:二維線段樹 
1529:答案是聯通塊個數,並查集或者Tarjan都可以. 
1532:二分答案,最大流判定. 
1543:同JSOI2008最小生成樹計數. 
1563:四邊形不等式推出決策單調,二分決策點. 
1568:李超線段樹. 
1588:權值平衡樹. 
1798:線段樹雙標記.但是我是拿LCT寫的. 
1800:暴力 
1821:二分答案+並查集 
1853:爆搜 
1857:三分套三分. 
1875:矩乘優化DP 
1876:Python題,直接GCD 
1877:拆點費用流 
1878:離線處理+樹狀數組 
1879:狀壓DP 
1880:四遍最短路,然后DP一下 
1898:可以發現每12次還是6次一個循環,然后對大范圍矩乘一下,剩下的一點暴力DP出來. 
1902:考慮p進制拆分,答案是拆分后每一位+1的乘積 證明好像是考慮Lucas定理的 
也可以數位DP+組合數學,但是無論哪種做法都需要Python高精度 
1907:樹的最小路徑覆蓋,可以直接樹DP/貪心 
1922:分層圖最短路 
1923:高斯消元. 
1924:強聯通分量縮點最長路 
1925:DP.需要用到一些抖動子序列的性質. 
1941:kdtree最遠點 
1951:數論板子合集. 
1968:枚舉1~n統計n/i的和 
1969:LCT維護兩點間橋邊數量,不知道當年標算是什么但應該不是LCT吧 
1979:二分答案,用平衡樹判定. 
1984:鏈剖/LCT裸題. 
1997:平面圖判定.需要平面圖理論. 
2000:可以貪心的博弈問題.網上很多證明. 
2001:可以LCT,也可以cdq,cdq的話需要很多最小生成樹的性質. 
2002:可以LCT,可以分塊. 
2003:特技爆搜. 
2004:矩乘優化DP 
2005:莫比烏斯反演 
2006:線段樹+堆維護五元組 
2012:容斥+組合,同SDOI2013Spring 
2013:DP+二分 
2045:同POI2007Zap 
2049:國內第一個LCT 
2051:點分治 
2054:並查集的特技 
2056:嘿嘿嘿 
2064:狀壓DP 
2089:同2090. 
2090:權值線段樹優化一下DP.感覺這個DP好像並不一定對啊..但是大家好像都是這么寫的. 
2093:左右端點移動一下找到目標位置,然后倍增. 
2096:單調隊列搞一搞 
2111:組合數搞一搞,需要Lucas 
2117:同2051 
2141:cdq分治 
2151:堆+貪心 
2154:莫比烏斯反演,有很多種公式化法,我的好像是比較傻逼的那種.. 
2157:LCT,隨便打標記 
2163:直接最小割過了,其實應該轉對偶圖然后最短路才對. 
2186:考察線性的逆元求法. 
2190:反演分析一下,最后卻發現答案是個跟phi有關的表達式.. 
2213:DP亂搞一下.附核心代碼

for (int i=2;i<=n;++i) ch[i]=getchar(),maxn=max(maxn,ch[i]-'a'); for (int i=1;i<=n;++i) { int y=ch[i]-'a'; for (int j=0;j<=maxn;++j) { ++f[j][y];--f[y][j]; if (!g[y][j]) g[y][j]=1; else if (g[y][j]==2) --g[y][j],++f[y][j]; if (f[y][j]<0) f[y][j]=-1,g[y][j]=2; if (g[y][j]) ans=max(ans,f[y][j]); if (g[j][y]) ans=max(ans,f[j][y]); } }

2216:顯然權函數單調,滿足四邊形不等式,決策單調. 
2222:似乎數據有問題還是什么?面向數據了一波. 
2223:主席樹 
2229:GHTree 
2241:暴力枚舉答案然后檢測,檢測時候需要特技,感覺理論復雜度並不對但是過了 
2243:鏈剖或者LCT,我寫的鏈剖 
2244:cdq分治做三維偏序的DP,答案實際上可能非常大會爆…但是出題人十分懶惰沒管那樣的數據,所以double就過了 
2275:考慮斐波那契分解.有一個定理,然而並不會證明. 
2280:倍增+最小圓覆蓋,卡評測好題. 
2288:線段樹優化費用流,模擬費用的取反什么的.5倍經驗. 
2295:亂搞.附核心代碼

char ch[MAXN],tmp[20]={'l','u','v','l','e','t','t','e','r'}; int main() { for (scanf("%d",&T),getchar();T;T--) { gets(ch+1);n=strlen(ch+1);ans=0; for (int i=1,j=0;i<=n;i++) { j+=(ch[i]==tmp[j]); if (j>=9) j=0,ans++; } printf("%d\n",ans); } } 

 

2296:找到一個P=987654321*10^6,答案就是(P+n)-(P+n)mod n 
2299:裴蜀定理 
2300:平衡樹維護凸包.因為求的是凸包周長,所以貢獻不可累積,故不能分治. 
2301:莫比烏斯反演.同POI2007Zap 
2326:矩乘. 
2336:模擬退火 
2344:暴力找三元環. 
2351:Hash 
2377:同POI2012 A Horrible Poem 
2378:PA2011Kangaroo kdtree 把序列[L,R]看成點(L,R) 然后查詢的就是右下角的矩陣,打一些標記搞一搞. 
2393:同SCOI2010幸運數字 
2395:二維最小乘積生成樹,裸. 
2428:模擬退火 
2433:計算幾何. 
2434:AC自動機+線段樹. 
2438:強連通分量. 
2440:莫比烏斯函數的應用,實際上就是容斥. 
2448:區間DP,線段樹優化,卡普通線段樹常數,需要zkw線段樹. 
2456:卡內存..亂搞 
2458:分治,分治子結構內暴力+剪枝 
2460:線性基 
2461:亂DP一波 
2462:同2351Hash 
2463:根奇偶有關的博弈,一眼看出規律,證明可以考慮轉化成骨牌鋪滿格子的問題. 
2464:裸最短路 
2467:矩陣樹定理 
2506:小范圍直接記錄答案,大范圍暴力. 
2514:同HNOI2010那個. 
2527:整體二分. 
2555: LCT維護SAM Parent樹Right集合 
2568:按位考慮的亂搞樹狀數組,大量邏輯混亂… 
2588:找dfs序,樹上建個主席樹 
2594:LCT 
2595:斯坦納樹. 
2600:貪心,找規律,中位數相關 
2618:半平面交 
2623:RGB識別系統的弱化.湖南當年請的教授出題真厲害.. 
2626:kdtree+堆 
2631:LCT+雙標記 
2639:二維莫隊. 
2642:可以發現一次刪一段連續的一定是最優的,所以二分一下刪的長度,半平面交 
2648:kdtree 
2654:二分答案然后最小生成樹 
2656:Python題 
2657:實際上就是讓你找直徑,沒有三角剖分的姿勢也沒事 
2659:直覺型數學題 
2660:DP一下. 
2661:費用流 
2662:分層圖最短路 
2671:類似莫比烏斯反演,推一推式子就行了 
2683:我寫的cdq 
2697:貪心 
2705:莫比烏斯反演 
2716:cdq分治 
2717:奇怪的姿勢枚舉一發

for (int i=1;i<=(n>>1);i++) for (int j=0;j<n;j++) printf("%d %d %d\n",j+1,(j+i)%n+1,(j+i+i)%n+1);

2718:同CTSC2008祭祀 
2721:隨便化一下式子 
2724:分塊 
2729:組合數,需要Python 
2732:二分答案半平面交判定 
2733:平衡樹啟發式合並. 
2738:整體二分,也可分塊 
2739:四邊形不等式,然后發現決策單調,然后分治找決策點 
2741:分塊套可持久化trie 
2751:根據題目找一個性質啥的..細節已忘 
2753:本意是求最小樹形圖,實際上因為題目特殊所以可以BFS一遍然后做最小生成樹 
2754:AC自動機fail樹+容斥,實際上暴力也過了. 
2759:題目給的是個環套樹,對LCT維護一個額外的father,然后擴歐求答案 
2761:媽的智障.. 
2763:分層圖最短路 
2783:dfs時候維護一下set 
2786:DP一下,需要Python 
2789:還是考慮上個位置,然后樹狀數組亂搞一下 
2795:hash,對一段數枚舉約數然后判定 
2796:記憶化搜索 
2809:權值平衡樹啟發式合並,或者左偏樹 
2812:空數據,Python 2B 
2813:斐波那契數性質的應用,線篩時候記錄一下質因子,約數個數之類的 
2814:人生寫過最碼農的題,可以LCT可以鏈剖,只不過都得維護30來個量 
2815:支配樹弱化版,倍增 
2816:LCT 
2818:同SDOI2012Longge的問題 
2822:卡特蘭數相關,需要Python 
2823:最小圓覆蓋 
2824:好像是個A*,我面向數據了一波 
2843:LCT 
2850:kdtree 
2851:滅絕樹. 
2862:二分limit,dp 
2864:計算幾何+最大流 
2875:矩乘 
2883:樹套樹,線段樹套平衡樹,但是我寫的是線段樹套權值線段樹 
2886:顯然先從整個矩形的邊界上走比較好,可以發現轉一下就是楊輝三角,再然后就沒別的了 
2888:LCT維護樹的重心,需要啟發式合並 
2890:同POI2012 A Horrible Poem 
2896:同AHOI2005航線那題 
2901:可以發現能用前綴和做.. 
2908:考慮建32位的信息維護,鏈剖或者LCT 
2916:暴力 
2936:灌水法,堆+爆搜 
2937:寫了個n^2暴力就能過 
2946:SAM時刻記錄匹配上的最大值 
2957:線段樹維護一段區間斜率 
2961:圓的反演,然后就成了cdq分治做半平面交 
2976:模擬一下得到一堆同余方程,擴歐找最小解 
2986:把2440反過來,做法一樣 
2987:類歐裸題,然而還是不是很理解類歐 
3038:記錄區間最大值,如果還能開根,暴力下放,最多開根lglg次 
3040:平板電視+Dij 
3043:亂搞一發,附核心代碼

    in(n);for (int i=1;i<=n;++i) in(a[i]); for (int i=n;i;--i) a[i]-=a[i-1],ans1+=(i>1)*a[i]*(a[i]>0),ans2+=(i>1)*(-a[i])*(a[i]<0); cout<<max(ans1,ans2)<<endl<<abs(ans1-ans2)+1<<endl;

3051:平面圖求域+點定位. 
3052:莫隊上樹. 
3053:高維kdtree 
3064:線段樹+標記+時間戳. 
3069:LCT維護是否存在橋邊,實際上可以並查集 
3070:考慮固定指數,把底數慢慢往上調,比較難寫,於是我當時面向數據了一發 
3072:神DP.建議看Claris題解. 
3073:線段樹優化建圖最短路 
3084:擴展KMP.建議看Claris題解 
3098:生日攻擊. 
3100:根前面那個什么 玩具 是一樣的. 
3103:跑一邊馬拉車,然后並查集縮點一下,就成了弦圖染色問題. 
3110:整體二分 
3117:鏈表+堆搞了一下,看似不科學實際上飛快 
3130:顯然費用的分配是可以貪心的.然后二分. 
3132:二維樹狀數組 
3153:TopTree/ETT+LCT 然而出題人的做法不是這兩個… 
3155:樹狀數組亂搞一下 
3170:鏈剖 
3172:建出多串后綴自動機,直接搞 
3176:顯然要考慮逆序對什么的,然后還需要樹狀數組,附核心代碼

 for (int i=1,last;i<=n;i=last+1) { for (last=i+1;a[last-1]>a[last]&&last<=n;last++);last--; for (ans++,l=i,r=last;l<r;swap(a[l++],a[r--])); } for (int i=n;i;i--) ans+=query(a[i]),add(a[i]); cout<<ans<<endl;

3178:循環構成了一個樹形結構,然后就可以DP了 
3180:單調棧亂搞 需要SPJ 但是我好像恰巧跟std策略相同,直接A了 
3181:大質數暴力,小的二分亂搞一下 
3196:樹套樹 
3197:樹Hash+亂搞 
3198:容斥+組合 
3199:顯然圖是個V圖,半平面交弄出來,然后最短路 
3203:計算幾何,答案在凸殼上,三分一下 
3209:數位DP+數論 
3211:同 上帝造題七分鍾2 
3223:區間Splay裸題. 
3224:權值平衡樹 
3226:把區間拆成兩倍來處理開閉問題,然后線段樹就行了,可以看成區間加減01,區間覆蓋01的問題 
3228:把整個坐標系旋轉45°,然后就成了掃描線sb題,問題在於統計的不是面積而是格子…所以細節非常麻煩 
3229:滿足四邊形不等式然后DP就好了 
3231:矩乘 
3236:莫隊/樹套樹/cdq分治. 
3237:我寫的cdq分治,實際上也有別的做法 
3238:后綴自動機Parent樹上DP一下 
3243:基於隨機化的亂搞 
3251:注意到fib數沒多少項就爆int了,所以暴力 
3252:dfs序,然后變成了rmq問題,寫個線段樹 
3260:同2886 
3262:cdq分治維護三維偏序 
3267:同2288. 
3268:ST表搞一搞.source里都給寫了題解了.. 
3272:同3267 
3277:SAM基本應用 
3282:LCT 
3283:BSGS. 
3295:cdq分治.注意每次修改會產生更多額外的貢獻要單獨減去的 
3309:莫比烏斯反演 
3323:序列平衡樹維護多項式 
3329:把兩問分別考慮,一個數位DP一個矩乘 
3339:跟SDOI2008HH的項鏈方法差不多,也是離線然后考慮找到前驅后繼線段樹做 
3350:同3103 
3417:對一個環可以重復走多次每次長度都是+2的,所以第一次BFS看看路徑長奇偶就行了. 
3424:跟dfs序有關.有波蘭人論文. 
3439:建trie,對trie dfs一遍,同時建立主席樹 
3463:分塊維護凸殼 
3473:同3277 
3482:SPFA預處理含x條邊的情況然后做.建議看Claris題解. 
3483:建trie,可以發現詢問能跟trie的dfs序對應起來,所以再建一棵主席樹. 
3489:我寫的3d kdtree 
3493:同HNOI2010那個 
3495:考慮2-SAT建圖.安利Claris題解. 
3498:枚舉三元環,我拿度數倍數判的實際上應該是根號度數.. 
3500:OEIS有數列 
3501:把3501加點數論特技,CRT什么的.. 
3502:同3272 
3505:組合數一下 
3514:LCT.記錄下某條邊被加入成環,主席樹統計答案. 
3522:樹DP.可以O(n)特技. 
3524:主席樹 
3527:FFT 
3529:莫比烏斯反演+樹狀數組 
3530:AC自動機+數位DP 
3531:動態開點的LCT/鏈剖線段樹 
3532:退流科技. 
3533:線段樹維護凸包 
3534:構建一個合理的矩陣然后矩陣樹定理,這個矩陣的構建需要十分高超的概率姿勢,建議看高大哥的題解 
3543:有定理好像是這樣的正方形不超過根號個還是什么來着..忘掉了.反正是結論題 
3544:搞個set就好了 
3545:本題不強制在線,標算為平衡樹啟發式合並 
3551:對3545強制在線后,我們需要主席樹+倍增搞一發 
3555:hash 
3566:樹形概率DP 
3571:最小乘積生成樹+KM. 
3572:虛樹. 
3573:考慮對樹DFS,做一個對數的轉化 
3575:不靠譜的暴力做法..加上堆維護一下 
3585:又是考慮離線記前驅后繼然后線段樹的題 
3589:實際上是虛樹.用鏈剖線段樹隨便打了打標記.然而標算應該是LCT做鏈的並吧. 
3594:線段樹優化DP 
3603:分塊高斯消元. 
3605:分治FFT. 
3606:平面圖求域+點定位. 
3607:最長路剖分一下,再輕重路剖分一下,安利Claris題解. 
3613:貪心/找規律. 
3616:kdtree+bitset 
3622:厲害的組合數+DP. 
3629:有一個什么分解定理來着… 
3638:同3502 
3643:爆搜 
3647:hash一下,好像也是個雙倍經驗 
3651:對ZJOI2012網絡去掉權值的維護 
3658:單調棧+樹狀數組 
3659:矩陣樹定理+BestTheorem 
3667:MillerRabin+PollarRho 
3668:按位貪心 
3669:LCT 
3672:點分治+斜率優化+cdq分治. 
3673/3674:rope的應用. 
3675:滿足四邊形不等式,有決策單調 
3676:PAM裸題,但是我寫的SAM+manacher 
3680:模擬退火/多重爬山 
3585:VEB樹. 
3687:bitset應用 
3688:線段樹優化DP 
3709:貪心.肯定先打能回血的. 
3710:構造神題.波蘭人有論文. 
3711:分治優化DP,分治過程中用線段樹找決策點,決策點單調. 
3712:樹上倍增. 
3713:暴力拆分. 
3714:前綴和Prim. 
3715:找找最大邊界值,隨便判定一下.. 
3716:最小割轉最大流,然后貪心,需要一定坐標變換. 
3717:高姿勢的狀壓DP. 
3718:只要能卡住就行了,樹狀數組. 
3719:線段樹套個vector掃描線掃一掃. 
3721:隨便貪心,考慮奇換偶偶換奇. 
3722:樹形DP. 
3725:掃一遍,掃的時候記錄出現位置,更新答案. 
3726:懸線法. 
3727:稍微推一推公式,然后就發現代價可以根據size什么的樹形DP了. 
3728:堆貪心. 
3732:跟某NOIP貨車運輸一樣. 
3733:爆搜+信仰剪枝.安利瀟爺(Time-Machine)題解 
3735:堆搞一搞 
3737:跟phi的反函數一個做法. 
3743:顯然可以直接樹形DP. 
3745:分治,前綴和,單調棧. 
3754:很好的亂搞題.可以考慮看成是一堆點,然后中間有一條水平直線算代價. 
3767:Python題. 
3779:LCT+dfs序線段樹 
3791:可以比較容易的DP出來. 
3802:預處理轉移的DP.也可以直接手動分類討論出來,只要你不嫌手累代碼長難調. 
3810:記憶化搜索 
3811:這個期望和概率題好神啊..建議直接上網看題解 
3812:狀壓DP,需要一些奇怪姿勢. 
3815:kdtree. 
3816:空數據 Python 2B 
3817:類歐題,類歐前需要很多變形. 
3831:挺sb的一個DP. 
3834:莫比烏斯反演. 
3837:線篩處理一些東西,然后DP. 
3838:看成線段樹維護括號序列,然后就發現需要維護的東西特別多還不止一棵線段樹. 
3839:考慮從某個點開始向四個方向擴展的凸包,預處理,然后對詢問用線段樹掃描線一下. 
3884:高姿勢的數論題. 
3895:dfs,過程中需要很多情況的討論,建議看Po姐題解. 
3915:矩形剖分. 
3916:枚舉刪除的位置,Hash. 
3917:考慮爆搜各種剪枝,每次范圍都是之前的十分之一. 
3922:搞一堆線段樹分別對應不同公差,大公差暴力,小的線段樹. 
3926:trie上SAM擴展裸題.因為度數少,所以暴力合並. 
3928:區間DP一下. 
3944:杜教篩裸題. 
3950:同3607. 
3984:按時間分治,維護刪除時間最大的基. 
3990:操作序列的順序並不影響答案,根據這個性質所以搜. 
3991:虛樹. 
3993:二分費用最大流判定. 
3994:比較厲害的莫比烏斯反演,需要一個性質.安利高大哥題解. 
3995:線段樹維護兩排點,分類討論. 
3998:SAM的應用. 
4001:找規律.實際上要靠生成函數來推.. 
4010:拓撲. 
4020:手寫編譯器. 
4025:LCT,或者cdq分治. 
4027:貪心. 
4029:模擬. 
4031:矩陣樹定理. 
4032:前兩問直接DP,后兩問SAM上DP. 
4033:看似n^3,實際上n^2的樹DP. 
4034:鏈剖, 
4036:子集和變換. 
4043:同3802. 
4048:同3928. 
4052:發現gcd最多有log個,單調棧一下. 
4057:狀壓DP. 
4059:奇怪的暴力. 
4062:同3658. 
4063:智障啊.. 
4066:卡掉離線算法差評不已.kdtree 
4068:維護套着堆的線段樹就行了,每次考慮用后來的任務替換一下前面的任務. 
4084:Hash 
4085:線段樹維護矩乘.據說考場卡常?矩陣可以從3*3優化到2*2. 
4086:組合數容斥. 
4088:大模擬. 
4106:WF簽到題. 
4127:數一直加的,已經沒有負數的就不用管了,其他的可以暴力下放. 
4128:矩陣BSGS,矩陣求逆或者不求逆的BSGS. 
4130:kdtree.上面寫過這個題了.. 
4140:因為強制在線了,所以要二進制分組 
4143:亂搞,暴力,沒技術含量. 
4144:最短路+最小生成樹. 
4145:狀壓DP. 
4146:寫個計數器.sb題 
4147:又一個根據很多情況來討論的博弈.看Claris題解把 
4148:構造.算基礎構造題了. 
4149:考慮單調棧搞一搞. 
4151:一個非常厲害的.最短路?安利Claris題解 
4152:把點排個序,構個圖,最短路. 
4154:可以kdtree,要是不只是子樹的話,點分就好了. 
4160:這題好神啊.安利Claris題解. 
4180:構建出SAM,然后可以矩乘 
4184:按時間分治線段樹維護一下線性基 
4194:k做一下前綴和就可以看成是凸殼,然后二分一下斜率什么的. 
4195:並查集 
4196:鏈剖 
4198:Huffman樹+貪心 
4199:SAM Parent樹上DP 
4209:把PA的Bazarek用主席樹來做動態的 
4212:同3483,但是卡trie轉移邊內存. 
4216:分塊,也卡內存. 
4229:同PA2011HardChoice 
4236:隨便統計一下三個字母數目更新下答案就行了. 
4245:按位貪心 
4247:背包變形 
4250,4251前面都出現過了 
4253:把AHOI那個密碼箱找質因子的過程來弄成PollardRho 
4260:trie正着一遍倒着一遍DP,但是我寫的可持久化trie,差點T飛 
4262:考慮詢問離線,然后用線段樹搞一搞,安利Claris題解. 
4263:某TCSRM題改編,結論題,貪心一下. 
4264:邊集Hash. 
4266:同 一個動態樹好題 
4269:線性基 
4288:跟Baltic2014sequence一樣 
4289:轉一下建圖,差分建圖,,然后最短路 
4291:跟Bazarek一樣 
4292:按位暴力 
4293:大小關系是始終不變的,所以排序后可以在線段樹上二分. 
4294:斐波那契數列模10^m有循環節,利用這個,然后搜 
4296:好像是考慮貪心的刪?忘了.. 
4297:神題.安利Claris題解. 
4298:比較厲害的邊集Hash. 
4299:主席樹.可以發現那個東西的一個性質.這個性質如果說出來就沒意思了.. 
4300:builtin大法好啊.. 
4305:組合+容斥 
4310:二分+后綴數組判定/hash判定 
4311:按時間分治的線段樹,答案在凸殼三分 
4312:大型分類討論 
4316:仙人掌DP 
4317:同2051 
4318:同Easy那題 
4319:簡單的構造 
4320:小范圍記錄答案,大范圍暴力 的那種題目 
4327:SAM直接跑 
4337:樹Hash 
4347:比較厲害的DP.安利Claris題解. 
4352:又是個雙倍經驗..同 A Huge Tower 
4358:考慮kdtree,序列[L,R]當成(L,R)這樣子 
4364:線段樹亂搞..亂更新一下 
4367:搞出暴力DP之后,滿足四邊形不等式,所以決策單調,然后分治優化,主席樹找決策 
4373:對區間是否符合條件有一個有關gcd的判定,然后線段樹就行了.也可以Hash區間和,區間平方和,立方和. 
4378:特技差分然后樹狀數組. 
4380:區間DP. 
4401:枚舉約數. 
4403:組合數學. 
4404:按位搜. 
4407:莫比烏斯反演 
4408:同FRBSUM 
4414:利用一點斐波那契數列的性質做,可以找規律. 
4415:線段樹模擬 
4418:線段樹. 
4419:暴力 
4421:智障.. 
4423:考慮對偶圖中兩點連通性與原圖中兩點連通性關系,然后並查集維護對偶圖的連通性. 
4424:nlogn可以差分樹剖或者LCT,O(n)就利用一些特技亂搞一下. 
4425:搞個堆 
4426:滿足四邊形不等式,分治優化下DP 
4427:計算幾何+二分圖判定 
4428:一點特殊的記憶化搜索姿勢然后杜教篩 
4429:二分圖最大匹配 
4430:樹狀數組找一下逆序對什么的 
4432:鏈表大模擬 
4434:坐標范圍很小,考慮分成一小段一小段然后做 
4435:割流轉化,然后最小割樹 
4437:BFS預處理,然后對每個詢問三分 
4438:忘掉了QAQ 
4439:最小割 
4444:DP了一下.好像是n倍經驗 
4452:離線,並查集 
4453:高端的姿勢!請單獨看我題解 
4454:O(1)gcd黑科技 
4455:一點狀壓 
4456:分治+Dij 
4458:超級鋼琴上樹 
4465:第二類strling數變形 
4471:矩乘+貪心模擬 
4472:樹形DP一下 
4475:找規律 
4488:同cerc2013 Magical Gcd 
4490:同4471 
4500:差分約束 
4503:FFT 
4505:考慮只找那個字符串的一半,暴力枚舉星號狀態,然后匹配 
4513:數位DP 
4514:費用流一直跑,跑到變負數 
4515:李超線段樹 
4516:SAM裸題 
4517:直接錯排,但是建議寫容斥 
4518:斜率優化,實際上也可以直接四邊形不等式然后分治 
4519:GHtree 
4520:kdtree,姿勢同jzpfar 
4521:數位DP一下 
4522:按他的要求做就行了..寫Pollardrho,然后擴歐什么的.. 
4523:可持久化trie,時刻維護單調棧匹配的最大長度 
4524:打表+堆然后搜的.. 
4527:這題好神..但是也屬於那種單調棧+線段樹搞一搞的題目.安利Claris題解 
4538:鏈剖線段樹+kdtree 
4540:同4262 
4543:提供nlogn 點分治 O(n) 利用啟發式思想的樹形DP 
4544:打表觀察找到一個積性函數. 
4545:SAM強行上trie..實際上還是2555 
4548:同4062 
4551:並查集 
4552:二分答案,線段樹 
4553:發現成立條件跟a[i],minb[i],maxb[i]有關.實際上是個三維偏序,可以kdtree可以cdq分治. 
4554:拆點,二分圖最大匹配 
4556:SAM+dfs序+主席樹 
4557:樹形DP一下 
4558:容斥.需要很多細節討論 
4562:拓撲 
4263:直接上錯排 
4565:狀壓DP. 
4566:建兩個SAM,考慮下合並代價什么的就行了 
4568:點分治/倍增+線性基(Claris的點分治模板就是快) 
4569:ST表+並查集 
4598:可以考慮nlogn的點分治,這是doc老師給的標算,同時還有一種O(n)的做法.基於以前的暴力LCA的DP,考慮使用上啟發式思想,可以做出一個漂亮的O(n)DP,基本同 4543Hotel加強版 這個題一樣. 
4599:首先可以看出回文串的貢獻都是可以單獨考慮的,然后其他的串可以考慮行列拆點最小割.具體建圖已忘. 
4600:考慮按C分類,然后狀壓DP. 
4601:比較重要的兩個性質:1.路徑只有兩種可能,分別是兩種繞法,因為我沒法貼圖片,所以留給大家自行思考.想到這兩種繞法之后,還有一個性質,就是選出一行/列,考慮這一行/列的插頭狀況,發現只有一個插頭是非空的(當然這並不意味着要讓你寫一個插頭DP,只是這個性質是比較有用的. 
有了這兩個性質就可以獨立考慮做法了. 
4602:帶權並查集,或者直接dfs(因為無向圖DFS樹只有返祖邊沒有橫向邊).為了解決分數特別大的問題,考慮記錄質因子或者取log(會被卡精度). 
4603:正四面體剖分,然后搞一搞.


免責聲明!

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



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