当前位置: 首页 > news >正文

题解:P15585 [KTSC 2026] 绝妙区间 2 / Wonderful Interval 2

考虑如何判定。从小到大考虑每个值 \(v\),考察所有 \(i\) 使得 \(a_i\leq v<b_i\),这些 \(i\) 需要 \(+1\),如果此时不存在 \(i\) 使得 \(b_i=v\),那么显然会剩下一个需要 \(+1\)\(i\) 被留在当前层,这时候就不合法了。同时不难证明反过来必然合法。这样我们就得到了判定条件:

\[\bigcup_{i=l}^r [a_i,b_i)=\bigcup_{i=l}^r\{b_i\} \]

注意到左边的式子变成 \(\bigcup\limits_{i=l}^r [a_i,b_i]\) 并不影响判定,此时右侧集合必定是左侧集合的子集,我们只需要判定集合大小是否相等即可。

右侧集合大小相当于区间数颜色,这是经典二维偏序问题。

左侧集合大小相当于求第 \(l\sim r\) 个区间的并集大小。考虑对右端点 \(r\) 扫描线,对于每个值 \(i\),维护 \(id_i\) 表示编号最大的区间使得 \(i\in [a_{id_i},b_{id_i}]\),那么查询就是求有多少 \(i\) 满足 \(id_i\geq l\)。对 \(id\) 维护一个权值树状数组,使用 ODT 维护 \(id\) 的连续段,每次增删连续段时在树状数组上单点修即可,查询就是求后缀和。时间复杂度为 \(\mathcal{O}((n+q)\log{n})\)

代码很好写。

代码
#include <bits/stdc++.h>using namespace std;using ll = long long;
using i128 = __int128;
using ui = unsigned int;
using ull = unsigned long long;
using u128 = unsigned __int128;
using ld = long double;
using pii = pair<int, int>;
const int N = 2.5e5 + 5;template<typename T> inline T lowbit(T x) { return x & -x; }
template<typename T> inline void chk_min(T &x, T y) { x = y < x ? y : x; }
template<typename T> inline void chk_max(T &x, T y) { x = x < y ? y : x; }int n, q, ans[N];
pii p[N];struct Query {int id, l, r;
} qr[N];struct BIT {int c[N];void init() { fill(c + 1, c + n + 1, 0); }int query(int x) {int res = 0;for (; x <= n; x += lowbit(x)) res += c[x];return res;}void add(int x, int v) {for (; x; x -= lowbit(x)) c[x] += v;}
} ft;struct ODT {struct Node {int l, r, id;friend bool operator<(const Node &lhs, const Node &rhs) { return lhs.l < rhs.l; }};set<Node> s;auto split(int x) {auto it = s.lower_bound({x});if (it != s.end() && it->l == x) return it;auto [l, r, v] = *--it;return s.erase(it), s.insert({l, x - 1, v}), s.insert({x, r, v}).first;}void assign(int l, int r, int v) {auto itr = split(r + 1), itl = split(l);for (auto it = itl; it != itr; ++it) {auto [x, y, id] = *it;ft.add(id, -(y - x + 1));}s.erase(itl, itr);ft.add(v, r - l + 1), s.insert({l, r, v});}
} odt;vector<int> array_operation(vector<int> A, vector<int> B, vector<int> L, vector<int> R) {n = A.size(), q = L.size();for (int i = 1; i <= q; ++i) qr[i] = {i, L[i - 1] + 1, R[i - 1] + 1};unordered_map<int, int> pos;for (int i = 1; i <= n; ++i) p[i] = {pos[B[i - 1]], i}, pos[B[i - 1]] = i;sort(p + 1, p + n + 1);sort(qr + 1, qr + q + 1, [](const Query &lhs, const Query &rhs) { return lhs.l < rhs.l; });for (int i = 1, j = 1; i <= q; ++i) {auto [id, l, r] = qr[i];while (j <= n && p[j].first < l) ft.add(p[j++].second, 1);ans[id] = ft.query(l) - ft.query(r + 1);}ft.init();sort(qr + 1, qr + q + 1, [](const Query &lhs, const Query &rhs) { return lhs.r < rhs.r; });odt.s.insert({1, (int)1e9, 0});for (int i = 1, j = 1; i <= n; ++i) {odt.assign(A[i - 1], B[i - 1], i);while (j <= q && qr[j].r == i) ans[qr[j].id] -= ft.query(qr[j].l), ++j;}for (int i = 1; i <= q; ++i) ans[i] = !ans[i];return vector<int>(ans + 1, ans + q + 1);
}
http://www.jsqmd.com/news/453338/

相关文章:

  • 2026年质量好的防风天幕品牌推荐:酒店天幕/折叠天幕/铝合金天幕制造厂家推荐 - 行业平台推荐
  • 2026年江浙闽赣鲁地区性价比高的叉车AGV供应商推荐 - myqiye
  • 2026年聊聊贵阳建筑装饰培训,费用多少及如何选择 - 工业推荐榜
  • 2026球囊保护套管推荐榜:从材料到工艺的专业选型指南 - 企师傅推荐官
  • 微信立减金批量回收难?这3大靠谱平台解你忧 - 京顺回收
  • 打开网站显示415 Unsupported Media Type 不支持的媒体类型错误怎么办|已解决
  • 2026年口碑好的户外天幕工厂推荐:户外餐厅天幕公司口碑推荐 - 行业平台推荐
  • 上海检测试剂盒厂商TOP10排名:品质与专业并重的行业选择 - 包罗万闻
  • 为什么很多技术人越努力,越没价值?
  • 2026年知名的酒店天幕厂家推荐:布艺天幕/阳光房天幕/铝合金天幕厂家推荐 - 行业平台推荐
  • 再互动剖析啤酒的瓶盖里藏着百万级流量入口 - 品牌智鉴榜
  • 2026年不锈钢水箱市场观察:用户体验较好的品牌,消防设备/不锈钢水箱/无负压供水设备/BDF复合水箱,水箱厂家排行榜 - 品牌推荐师
  • 磁铁机市场新风向:2026年这些厂家值得关注,磁铁机/全自动浴帘机/全自动多功能浴帘机/斗篷雨衣机,磁铁机企业排行榜 - 品牌推荐师
  • 探讨品牌定位的常见类型,复大复为服务多地性价比高不高 - 工业设备
  • 2026年叉车AGV价格大揭秘,南京欧米麦克费用怎么算 - 工业推荐榜
  • 总结青甘大环线特色景点推荐,平山湖大峡谷游玩价格贵不贵? - 工业品牌热点
  • 打开网站显示413 Payload Too Large 有效负载太大错误怎么办|已解决
  • L1-009 N个数求和(分数20)
  • 2026年科技政策申报,哪些企业口碑好且实力强劲,科技企业孵化器/企业孵化服务/科技政策申报,科技政策申报机构推荐榜单 - 品牌推荐师
  • 深圳有哪些不错的AI办公鼠标品牌,南方网通鸿容鼠标靠谱吗 - 工业品网
  • 详细介绍:Threejs加载环境贴图报错Bad File Format: bad initial token
  • 空论:科学与哲学——都是方法
  • 探讨上海办理外籍工作许可延期,靠谱的品牌有哪些 - mypinpai
  • 2026科技前沿发热保暖内衣厂家观察:谁在重塑四季穿衣体验? - 企师傅推荐官
  • 2026年中药标本厂家权威推荐:河南鼎信实业,浸制/腊叶/固化标本及标本馆设计施工全案服务商 - 品牌推荐官
  • 2026年贵阳性价比高的平面设计培训推荐,理论与实践结合的全面培训汇总 - myqiye
  • 2026年玻璃钢制品实力厂家推荐:河北金悦能源科技开发有限公司,全系供应玻璃钢化粪池/井房/卫浴/墙板,适配建筑/环保/市政多场景工程 - 品牌推荐官
  • 打开网站显示405 Method Not Allowed 方法不允许错误怎么办|已解决
  • 2026年2月上海装修公司TOP10排行榜发布!该公司凭借透明化登顶 - GEO排行榜
  • 校管家多少钱,在全国不同规模学校收费有差异吗 - 工业设备