本文主要是介绍【省选模拟】20/05/26,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
A A A
- 考虑限制为 [ l , r ] [l,r] [l,r] 中没有值出现两次, m a x i ∈ [ l , r ] a i = l e n max_{i\in [l,r]} a_i=len maxi∈[l,r]ai=len, m i n i ∈ [ l , r ] a i = 1 min_{i\in [l,r]}a_i=1 mini∈[l,r]ai=1,对每个右端点统计,第一个和最后一个限制是对应左端点的一个区间
维护一个单调栈,要找一个位置满足 r − x + 1 = m a x i ∈ [ x , r ] a i r-x+1=max_{i\in[x,r]}a_i r−x+1=maxi∈[x,r]ai,那么单调栈上的每个点对应一个 v + x v+x v+x 的一次函数,考虑 i i i 是单增的,不可能的直接丢掉,可能有的按可能有的时间排序,已经有的按 l l l 排序,用 s e t set set 维护即可, c o d e code code
C C C
- 分治 n t t ntt ntt 模板, c o d e code code
这篇关于【省选模拟】20/05/26的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!