待修莫隊模板題
待修莫隊在普通莫隊的基礎上,額外維護乙個修改操作,每一次根據查詢操作的時間加入修改或是撤銷修改。
實現蠻顯然的,配合**很容易搞懂。
note:塊大小的證明參見這裡,此處不做贅述。
#include using namespace std;
namespace standardio
templateinline void write (t x)
}using namespace standardio;
namespace project q[n];
struct upd u[n];
int cnt[1000001],ans[n],res;
inline bool cmp (const ask x,const ask y)
ans[q[i].id]=res;
} for (register int i=1; i<=qcnt; ++i) }
}int main ()
國家集訓隊 數顏色
點此看題 正解應該是帶修莫隊,我們這裡講一下樹套樹的做法。本題主要涉及的問題是去重,我們定義nxt i nxt i nxt i 為最靠近i ii位置後面顏色和i ii相同的位置,統計 l,r l,r l,r 裡面不同顏色的個數即統計 i lrnx t i r sum nxt i r i lr nxt...
國家集訓隊 數顏色
題目 洛谷p1903 bzoj2120。題目大意 給你一列數,有兩種操作 1.詢問區間 l,r 內不同數出現的個數。2.單點修改。解題思路 帶修莫隊。仍然運用分塊思路,加了乙個修改時間而已。所以以 l 所在的塊為第一關鍵字,r 所在的塊為第二關鍵字,修改時間為第三關鍵字排序即可。c code inc...
國家集訓隊 數顏色
墨墨購買了一套n支彩色畫筆 其中有些顏色可能相同 擺成一排,你需要回答墨墨的提問。墨墨會向你發布如下指令 1 q l r代表詢問你從第l支畫筆到第r支畫筆中共有幾種不同顏色的畫筆。2 r p col 把第p支畫筆替換為顏色col。題解 做這道題之前不會帶修改莫隊,山神學會了之後手 嘴 把手 嘴 教我...