原创 #主席樹、二分、樹狀數組#洛谷 3157 JZOJ 2287 動態逆序對

題目 分析 首先如果不帶修改操作那麼就是一道主席樹題目,但是既然有了修改,那麼還必須用上樹狀數組維護,時間複雜度O(nlog2n)O(nlog^2n)O(nlog2n) 代碼 #include <cstdio> #includ

原创 #線段樹,貓樹#SP1043 GSS1 SP1716 GSS3 SP2916 GSS5

貓樹GSS3題目分析代碼GSS1題目分析1分析2代碼GSS5題目分析代碼 GSS3 題目 多次詢問區間最大子段和,帶單點修改 分析 用線段樹維護區間最大前綴和、區間最大後綴和,區間最大子段和,因爲單點修改,所以不難(我也不會區間

原创 2019.11.06【NOIP提高組】模擬 B 組

解題報告JZOJ 3843 尋找羔羊題目分析代碼JZOJ 3844 統計損失題目分析代碼JZOJ 3845 簡單題題目分析代碼 JZOJ 3843 尋找羔羊 題目 給定一個由小寫字母組成的字符串,尋找包含agnus的子串的個數。注

原创 #線性動態規劃,揹包#JZOJ 3932 洛谷 1941 飛揚的小鳥

題目 分析 可以把它看成一個揹包 下降就是01揹包,上升就是完全揹包,然後超過範圍的取最大值,時間複雜度O(nm)O(nm)O(nm) 代碼 #include <cstdio> #include <cctype> #inclu

原创 2019.12.07【NOIP提高組】模擬A 組

JZOJ 3918 蛋糕 題目 把一個矩陣橫切三刀,豎切三刀,問當中的子矩陣總和最小的最大能是多少 分析 首先相當暴力的方法就是暴力切的位置然後用前綴和,時間複雜度應該是O(n6)O(n^6)O(n6),但是這個東西是二分的套路

原创 #主席樹,樹鏈剖分#洛谷 3313 旅行

題目 分析 首先如果沒有宗教的限制,那麼這道題就是線段樹裸題,但是既然有了宗教的限制,那麼得開10510^5105個線段樹,那顯然是不行的,想到了主席樹,綜合它們的空間,時間複雜度O(mlogn2)O(mlogn^2)O(mlo

原创 #貪心,堆,RMQ#洛谷 2048 JZOJ 2226 超級鋼琴

題目 分析 考慮一個maxx(x,l,r)maxx(x,l,r)maxx(x,l,r)表示以左端點爲xxx,右端點在[l∼r][l\sim r][l∼r]的範圍內的最大值,那麼維護的最大值也就是s[mx]−s[l−1]s[mx]

原创 博客搬家聲明

即將遷移博客,但是原來的文章會保存,由於CSDN的商業性廣告太多,自己的分類被強行變成了專欄,而且原來的鏈接也用不了,現在準備要去博客園,鏈接是 博客園 但還是感謝CSDN這些年的幫助,我雖不捨,但依舊離開CSDN,希望明天會更好

原创 #分塊#洛谷 4135 作詩

題目 分析 首先此題好像用不了線段樹什麼的,只好考慮分塊 但是分塊這種題目其實看註釋會更好啊,時間複雜度O(nn)O(n\sqrt n)O(nn​) 代碼 #include <cstdio> #include <cctype>

原创 #莫比烏斯反演#洛谷 5176 公約數

題目 ∑i=1n∑j=1m∑k=1pgcd(ij,ik,jk)×gcd(i,j,k)×(gcd(i,j)gcd(i,k)gcd(j,k)+gcd(i,k)gcd(i,j)gcd(j,k)+gcd(j,k)gcd(i,j)gcd(i

原创 #主席樹,二分,樹狀數組#洛谷 2617 Dynamic Ranking

TLE分塊題解 題目 區間第kkk大支持單點修改 分析 如果沒有修改操作,就真的只是一道主席樹裸題,但是加上修改操作,就不得不使用樹狀數組維護,其實思路比較簡單,主要考驗碼題能力 (在這一點我是最菜的呀) 代碼 #inclu

原创 #二分圖匹配,floyd,匈牙利算法#POJ 2594 Treasure Exploration

題目 給出一個無向圖,問最少需要多少條可重合的路徑覆蓋所有點 分析 先跑一遍floyd傳遞閉包,把題目轉換成最小不可相交路徑覆蓋,然後再跑二分圖,最小不可相交路徑覆蓋=總點數-最大匹配即可 代碼 #include <cstdi

原创 #狀壓dp,容斥#JZOJ 4555 沒有強聯通分量的無聊世界

題目 在一個有向圖中問最少去掉多少條邊使剩下的圖是一個DAG 分析 容斥,用總邊數減去能形成有向無環圖的邊數即爲答案,設dp[S]dp[S]dp[S]表示選擇的集合爲SSS所能選的環,那麼每當選一個點,就加上它的出邊集合與當前所

原创 #基環樹,深搜#洛谷 5049 旅行(數據加強版)

弱化版博客 題目 分析 慢慢填坑 代碼 #include <cstdio> #include <cctype> #include <queue> #include <cstring> #define rr register u

原创 #樹鏈剖分,線段樹#洛谷 5127 子異和

題目 多組詢問,每次把樹上的一條簡單路徑中的點權扔入集合中,求該集合的子異和,子異和定義爲所有非空子集的異或和的和,而且需要支持區間異或 分析 考慮某一位滿足異或和爲1的子集數,若設異或某一位爲kkk爲1的數量爲hkh_khk​