原创 A Simple Task【區間排序】【線段樹】

題目鏈接:http://codeforces.com/contest/558/problem/E 題意: 給定一個字符串, m次操作, 每次操作一個區間, 0表示讓這個區間降序, 1 表示升序, 問最後字符串的樣子。   字符集只有26個

原创 [JSOI2016]最佳團體【01分數規劃】【樹形揹包】

題目鏈接:https://www.luogu.org/problem/P4322 兩個板子合一塊 #include <bits/stdc++.h> #define rep(i, a, b) for(int i = (a); i <= (

原创 長鏈剖分模板

題目鏈接:https://codeforces.com/contest/1009/problem/F 題目大意:給你一棵樹,定義d(x,i)表示x子樹內和x距離爲i的節點數,對每個x求使d(x,i)最大的i,如有多個輸出最小的。 長鏈剖分

原创 Forest Game 【期望】【點分治】【FFT】

題目鏈接:https://vjudge.net/problem/Gym-101234D 題目大意:給一顆樹,共N個點,每次隨機選擇一個點,得分加上該點所在樹的大小,然後刪除這個點,斷開與其相連的所有邊,問刪完所有點所獲得的   期望得分乘

原创 No Link, Cut Tree!【長鏈剖分】【dsu on tree】

//--------------------------------------------------------------------------- 本篇博客是19年9月份寫的,因爲改成了比賽題目,所以設置隱藏,現在重新發。 //-

原创 hiho SAM模板題二 【長度爲1-n 的字串的最多出現次數】

題目鏈接:https://hihocoder.com/problemset/problem/1449 通過topo計算每個節點的R集大小,然後給每個節點的maxlen打標記。 #include <bits/stdc++.h> #defi

原创 hiho SAM模板三【帶權本質不同串】【廣義SAM】

題目鏈接:https://hihocoder.com/problemset/problem/1457 注意:不能在遍歷和統計入度的時候直接刪除‘10’的邊,這樣會導致入度統計出錯。 也不能用 maxlen[u] - maxlen[fa[u

原创 hiho SAM模版題一【本質不同字串個數】

 題目鏈接:https://hihocoder.com/problemset/problem/1445  把每個狀態的lenmax-lenmin+1 累加起來就可以了。 #include <bits/stdc++.h> #define

原创 Frank Sinatra【樹上莫隊】【分塊】【區間mex】

題目鏈接:https://vjudge.net/problem/Gym-100962F 題目大意:給你一棵樹,邊有邊權,每次詢問一條鏈上邊權集合的mex。   用莫隊加分塊維護區間mex。 有一個很重要的點是,邊權最大到1e9,但是顯然大

原创 環形石子合併【n^2做法】

題目鏈接:https://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/1977.html   四邊形不等式優化dp 學習博客:https://bl

原创 RMQ求LCA

題目鏈接:https://www.luogu.org/problem/P3379  學習鏈接:https://blog.csdn.net/Diogenes_/article/details/81412316  預處理時間複雜度O(Nlog

原创 樹上莫隊模板

題目鏈接:https://vjudge.net/problem/SPOJ-COT2 教學博客:https://www.cnblogs.com/zwfymqz/p/9223425.html 題目大意:查詢鏈上點權不同數的個數。 ps:如果是

原创 斜率優化dp

推薦學習博客:https://www.cnblogs.com/orzzz/p/7885971.html 題目鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=3507 #include <bits

原创 Marbles 【狀壓dp】

題目鏈接:https://vjudge.net/problem/Gym-102348C  一個特別好的狀壓dp題目,但是突然有點懶,不想寫題解了,直接發代碼吧。 #include <bits/stdc++.h> #define rep(

原创 樹上啓發式合併與dsu on tree

題目鏈接:https://codeforc.es/contest/600/problem/E 題目大意:給一顆以1爲根的樹,共n個點。點有顏色,顏色從1-n編號。問每顆子樹中出現次數最多的顏色 的編號之和。 啓發式合併做法: #