首页 > TAG信息列表 > CF765F

CF765F

分块。 \(f[i][j]\):\(i\) 一直到第 \(i\) 所在块 \(x\) 尾端,对 \(x+1\sim j\) 块造成贡献/\(i\) 一直到 \(i\) 所在块 \(x\) 开头,对 \(j\sim x-1\) 块造成贡献。 \(mn[i][j]\):块 \(i\sim j\) 的答案。 预处理:块内元素排序,双指针求 \(f\) 后得到 \(mn\)。 查询:整块以及散块对整块的

多校联训 DS 专题

CF1039D You Are Given a Tree CF983E NN country [AGC001F] Wide Swap [AGC015E] Mr.Aoki Incubator [AGC007E] Shik and Travel CF1446D2 Frequency Problem (Hard Version) CF765F Souvenirs CF1458D Flip and Reverse

CF765F Souvenirs

给出 \(n\) 以及一个长为 \(n\) 的序列 \(a\)。 给出 \(m\),接下来 \(m\) 组询问。 每组询问给出一个 \(l,r\),你需要求出,对于 \(i,j \in [l,r]\),且满足 \(i \neq j\),\(|a_i-a_j|\) 的最小值。 \(1 \leq n \leq 10^5\),\(1 \leq m \leq 3\times 10^5\),\(0 \leq a_i \leq 10^9\)。 sol

CF765F Souvenirs

https://www.luogu.com.cn/problem/CF765F 挺不错的一道题,首先考虑扫描线,对于每个\(i\),找\(j<i,a[j]>a[i], j\)最大的 用权值线段树可以轻易维护 假设找到一个\(j\),然后再找\((a[i],a[j])\)之间的 时间复杂度不优 考虑再找到的一个是\(j'\) 发现必须要满足\(a[j']-a[i]<a[j]-a[i]

CF765F Souvenirs

描述: 给出 \(n\) 以及一个长为 \(n\) 的序列 \(a\)。 给出 \(m\),接下来 \(m\) 组询问。 每组询问给出一个 \(l,r\),你需要求出,对于 \(i,j \in [l,r]\),且满足 \(i \neq j\),\(|a_i-a_j|\) 的最小值。 \(1 \leq n \leq 10^5\),\(1 \leq m \leq 3\times 10^5\),\(0 \leq a_i \leq 10^9\)

CF765F Souvenirs

题面传送门 这个东西不太会log做法就写了分块算法。 考虑分块。 我们设\(F_{i,j}\)表示\(i\)点从\(i\)后面那个块到\(j\)块的答案,这个东西可以直接将两块归并得到答案。 同样我们处理出\(G_{i,j}\)表示\(i\)点从\(i\)点前面那个块到\(j\)块的答案,方法同上。 我们再处理出\(H_{i,j}

【题解】 CF765F Souvenirs 分块

Legend \(\textrm{Link to}\) Codeforces。 给定长 \(n\ (2 \le n \le 10^5)\) 的序列 \(a\ (0 \le a_i \le 10^5)\),共 \(m\ (1 \le m \le 3\times 10^5)\) 次询问,每次询问一个区间 \([l,r]\) 最接近两数字之差。 Editorial 容易想到分块。 设 \(pre_{i,j}\) 表示 \(j\) 号位置到

【CF765F】Souvenirs

【CF765F】Souvenirs 题面 洛谷 题解 我们可以发现,对于某个右端点\(i\),左端点\(j\)在由\(i\rightarrow 1\)的过程中,每一段的答案是单调不增的,由这个性质,我们想办法维护出加入右端点\(i\)后的答案。 我们只考虑形如\(j<i,a_i<a_j\)的答案,因为其他的情况我们只需要将值域翻转即可得

CF765F Souvenirs

题目 先看暴力做法。 把询问按右端点升序排序。 对于每个\(r\),我们处理出左端点\(l\in[1,r)\)的所有答案\(ans_l\),当\(r\)向右扩展时暴力修改\(ans\)。 这样子显然不能过,我们考虑优化。 我们可以认为\(ans_l=\min\limits_{i=l}^{r-1}ans_i\),因此显然\(ans\)是单调不减的。 如果