题面:
给出一个长为 n n n 的数列,以及 n n n 个操作,操作涉及区间询问等于一个数 c c c 的元素,并将这个区间的所有元素改为 c c c。
这道题我一看到区间推平就想到了 ODT,完全不管这是一道分块题。实际上,分块可以做的题, ODT 也基本可以胜任。
问题是网上的博客基本没有讲到 ODT 的查询操作,让某些 抄题解过日子的 人无从下手。
于是大家就用了喜闻乐见的分块,但是并不好打。个人认为,珂朵莉树码量少是最大的优势,可能会被卡也无所谓 反正珂朵莉那么可爱
然后假设大家都知道 s p l i t split split 和 a s s i g n assign assign 操作的方法,在这里就不赘述这些基础的东西了。
首先考虑 s e t set set 内置的函数,但是 s e t : : c o u n t ( ) set::count() set::count() 无法指定一个区间来进行计数,所以这个方法就立刻泡汤了。
set内置函数已经 SPFA 了
然后就不会了。然后就是仿造区间加的模式套了一个 c h e c k ( l ,