首页 > TAG信息列表 > P1903

洛谷 P1903 [国家集训队] 数颜色 / 维护队列 & 带修莫队相关

洛谷P1903 [国家集训队] 数颜色 / 维护队列 & 带修莫队相关 [洛谷P1903 [国家集训队] 数颜色 / 维护队列]([P1903 国家集训队] 数颜色 / 维护队列 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)) 带修莫队\(block = pow(n, 2.0 / 3.0)\)。 [奇技淫巧](题解 P1903 【【模板】

洛谷 P1903 [国家集训队]数颜色 / 维护队列 题解

\(Description\) Luogu传送门 \(Solution\) 带修莫队板子题。 就是再多开一维时间轴,把每次修改修改前的颜色和修改后的颜色都记录下来。 离线处理。 枚举操作时,类似于普通的莫队,while(操作时间) 看看是该插入还是删除,然后直接修改就完了。 贴下代码吧,直接看代码比较好理解。 \(Cod

P1903 [国家集训队]数颜色 / 维护队列 (带修莫队)

题目描述 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令: 1、 Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔。 2、 R P Col 把第P支画笔替换为颜色Col。 为了满足墨墨的要求,你知道你需要干什么了吗? 输

P1903 数颜色 / 维护队列(带修莫队)

题目链接 题目描述: 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会向你发布如下指令: 1、\(Q\) \(L\) \(R\) 代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔。 2、\(R\) \(P\) \(Col\) 把第P支画笔替换为颜色Col。 为了满足墨墨

P1903 [国家集训队]数颜色 / 维护队列

带修改莫队板子 块长取 \(O(n^{\frac 2 3})\) 总时间复杂度为 \(O(n^{\frac 5 3})\) \(\text{Code}\) #include <cstdio> #include <cmath> #include <algorithm> #include <iostream> #define re register using namespace std; const int N = 133343; int

P1903 [国家集训队]数颜色

题意 带修莫队与普通莫队的区别在于加入了一个时间轴,具体可以看这篇博客。 另外,这是卡常神题。 code: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize("Ofast") #pragma GCC target("sse3","sse2","sse") #pragma GCC target("avx","ss

Luogu P1903 [国家集训队]数颜色 / 维护队列 $带修莫队$

···cpp include include include include include define R(a,b,c) for( register int (a) = (b); (a) <= (c); ++(a)) define nR(a,b,c) for( register int (a) = (b); (a) >= (c); --(a)) define Max(a,b) ((a) >= (b) ? (a) : (b)) define Min(a,b) ((a) <

P1903 [国家集训队]数颜色 / 维护队列

传送门 带修莫队,在原来的基础上加一个时间指针 $t$ 每次移动时除了 $l,r$ 移动 $t$ 也跟着移动,并更新状态 为了维护时间变化 所以维护一个 $pos[i]$ 表示第 $i$ 次修改的位置,$co[i]$ 表示第 $i$ 次修改的颜色 $pre[i]$ 表示第 $i$ 次修改前 $pos[i]$ 的颜色 #include<iostream>#in

P1903 [国家集训队]数颜色 / 维护队列(莫队区间询问+单点修改)

题目链接:https://www.luogu.org/problemnew/show/P1903 题目大意:中文题目 具体思路:莫队单点修改+区间询问模板题,在原来的区间询问的基础上,我们要记录当前这次操作之前单点修改的操作都有哪些,如果有多余的操作,就先消除这些操作:如果操作数还不够,就在加上这些操作就可以了,这个题会卡