原创 NOIP2009-2018簡要題解

口胡警告 NOIP2009 潛伏者 模擬 Hankson 的趣味題 對四個數\(a_0,a_1,b_0,b_1\)分解質因數,結果序列分別記爲\(\{p1^{b1}\},\{p2^{b2}\},\{p3^{b3}\},\{p4^{b4}\}

原创 luogu P3750 [六省聯考2017]分手是祝願

luogu loj 可以發現在最優策略中,每種操作最多隻會做一次,並且操作的先後順序並不會影響答案,所以考慮從後往前掃,碰到一個\(1\)就對這個位置\(i\)進行操作,這樣的操作一定是最優策略.記最優策略步數爲\(m\),如果\(m\le

原创 luogu P3773 [CTSC2017]吉夫特

luogu 這裏的組合數顯然要用\(\text{lucas}\)定理來求,所以考慮\(\text{lucas}\)定理的本質,即把\(n,m\)分別拆分成\(p\)進制串\(\{a\}\{b\}\),然後\(\binom{n}{m}\mod

原创 CF505E Mr. Kitayuta vs. Bamboos

cf luogu 要使得最高的柱子高度最小,考慮二分這個高度,那麼剩下的就是要指定一個操作方案,使得最終每個柱子高度\(\le mid\) 因爲有個柱子高度不會\(<0\)的限制,所以正着模擬不太方便維護.考慮倒着模擬,那麼問題可以轉化成一

原创 CF516D Drazil and Morning Exercise

cf luogu 首先每個點到最遠點的距離可以預處理出來,這個距離顯然是這個點到樹直徑兩端點的最大值.把那個距離記爲\(d_i\),然後從小到大枚舉\(d_i\),並強制它爲最大的\(d_i\),那麼前面\(d_j\)更小的,滿足\(d_i

原创 luogu P4688 [Ynoi2016]掉進兔子洞

luogu 我們要求的答案應該是三個區間長度\(-3*\)在三個區間中都出現過的數個數 先考慮數列中沒有相同的數怎麼做,那就是對三個區間求交,然後交集大小就是要求的那個個數.現在有相同的數,考慮給區間中的數安排位置,即區間中如果出現了多個相

原创 luogu P4428 [BJOI2018]二進制

luogu 先考慮怎樣的二進制串纔會被3整除.可以發現如果二進制位第\(0,2,4...2n\)位如果爲\(1\),那麼在模3意義下爲1,如果二進制位第\(1,3,5...2n+1\)位如果爲\(1\),那麼在模3意義下爲-1.所以也就是位

原创 bzoj 3514 Codechef MARCH14 GERALD07加強版

bzoj 題目要的連通塊個數可以表示爲點數\(-\)所有生成樹上的邊數.考慮這個生成樹邊數,我們維護編號最大生成樹,按照編號加入邊,然後如果加的時候會成環就把環上編號最小的邊擠掉,並且當前的第\(i\)條邊的前驅邊\(pre_i\)爲剛纔被

原创 loj 3014「JOI 2019 Final」獨特的城市

loj 我本來是直接口胡了一個意思一樣的做法的,但是因爲覺得有點假+實現要用並查集(?)就卡了好一會兒... 對於一個點\(x\)來說,獨特的點一定在它的最長鏈上,如果有獨特的點不在最長鏈上,那麼最長鏈上一定有和他到\(x\)距離相同的點,

原创 <del>暫 別</del>

其實就是想咕

原创 CF888G Xor-MST

cf luogu 這題\(prim\)和\(kruskal\)似乎都不可做,考慮\(Boruvka\)算法,維護一堆連通塊,對於每個連通塊每次找出其他連通塊和它的最小權值的邊,然後只用這些邊合併連通塊,首先這樣子做是對的,因爲參考\(pri

原创 luogu P5471 [NOI2019]彈跳

luogu 因爲是一個點向矩形區域連邊,所以可以二維數據結構優化連邊,但是會MLE.關於維護矩形的數據結構還有\(KD-Tree\),所以考慮\(KDT\)優化連邊,空間複雜度\(m\sqrt n\),無法通過 進一步的,一條題目中的邊會對

原创 luogu P3645 [APIO2015]雅加達的摩天樓

luogu 暴力? 暴力! 這個題有點像最短路,所以設\(f_{i,j}\)表示在\(i\)號樓,當前\(doge\)跳躍能力爲\(j\)的最短步數,轉移要麼跳一步到\(f_{i+j,j}\)和\(f_{i-j,j}\),要麼換到別的\(d

原创 loj 2759「JOI 2014 Final」飛天鼠

loj 這題有在一棵樹上上升或者下降的操作,稍加分析後可以發現上升操作如果不是一定要做(指高度不足以到下一棵樹或者是最後到達\(n\))就不做,下降操作也是如果不是一定要做(指到達下一棵樹時高度過高)就不做,因爲如果提前做了,可能會導致後面