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

CF2152G Query Jungle(线段树,重链剖分,*)

CF2152G Query Jungle

子树翻转,求没有黑色子孙的黑色点个数。套上 mincnt 标签和双生 rev 标签即可。不明白提交记录里的人都在写什么鬼。

Code

const int inf = 1 << 30;struct Node {int m1 = inf, mc1 = 0, m0 = inf, mc0 = 0;friend Node operator+(const Node& u, const Node& v) {Node w;w.m1 = min(u.m1, v.m1);w.mc1 = (u.m1 == w.m1 ? u.mc1 : 0) + (v.m1 == w.m1 ? v.mc1 : 0);w.m0 = min(u.m0, v.m0);w.mc0 = (u.m0 == w.m0 ? u.mc0 : 0) + (v.m0 == w.m0 ? v.mc0 : 0);return w;}
};struct Tag {int rev = false, x = 0;friend void operator+=(Node& u, const Tag& v) {if (v.x) {u.m1 += v.x;u.m0 -= v.x;}if (v.rev) {swap(u.m1, u.m0);swap(u.mc1, u.mc0);}}friend void operator+=(Tag& u, const Tag& v) {if (v.x) !u.rev ? u.x += v.x : u.x -= v.x;u.rev ^= v.rev;}
};
...
vector<Node> init(n);
folr(u, 0, n - 1) init[dfn[u]] = {sa[u] - a[u], a[u], c[u] - sa[u] - !a[u], !a[u]};
SegTree<Node, Tag> T(init);
auto calc = [&]() {auto tot = T.total();debug(tot.m1, tot.mc1, tot.m0, tot.mc0);return tot.m1 == 0 ? tot.mc1 : 0;
};
cout << calc() << '\n';
int q;
cin >> q;
while (q--) {int u;cin >> u, --u;auto info = T.at(dfn[u]);debug(u, info.m1, info.mc1, info.m0, info.mc0);T.add(dfn[u], dfn[u] + c[u], Tag{true, 0});int delta = info.m0 + info.mc0 - info.m1 - info.mc1;for (int v = fa[u]; ~v; v = fa[top[v]]) T.add(dfn[top[v]], dfn[v] + 1, Tag{false, delta});cout << calc() << '\n';	
}
http://www.gsyq.cn/news/16327.html

相关文章:

  • 代码随想录算法训练营第九天 | leetcode 151 卡特55
  • [题解] 分竹子
  • 实力强劲的机器视觉公司有哪些:2025年TOP5精选榜单
  • 【MC】LittleTiles模组结构数据解析和版本迁移方案
  • 词汇学习——专业词汇
  • P4556 [Vani有约会] 雨天的尾巴 [模板] 线段树合并
  • 音响没声音
  • 10/5
  • java学习日记9.25
  • 关于电脑息屏后自动亮屏的的原因排查及解决方式
  • Squarepoint Challenge (Codeforces Round 1055, Div. 1 + Div. 2) A~E
  • k8s之基础概念
  • 点双连通分量例题:矿场搭建
  • 基于springboot的医护人员排班平台设计与构建(源码+文档+部署讲解)
  • 某中心2026年推出1111个技术实习岗位
  • SQL Indexes(索引) - 详解
  • Payload CMS:开发者优先的Next.js原生开源解决优秀的方案,重新定义无头内容管理
  • python语法记录
  • Go 即时通讯体系:客户端与服务端 WebSocket 通信交互
  • 读混元image论文
  • phone num
  • 当 Python 遇上 Go:Sponge 如何成为替代 Django/Flask 的理想选择 - 指南
  • 2025 年装盒机制造厂 TOP 企业品牌推荐排行榜,自动化 / 喷胶 / 牙膏 / 手机壳 / 3C 数码 / 内外盒 / 面膜 / 电子产品 / 玩具 / 日用品装盒机推荐这十家公司!
  • 英语_阅读_Chinas Spring Festival_待读
  • 2025 权威推荐!电梯源头品牌 TOP5 排行榜:实力厂家精选,品质之选不容错过
  • 2025混合机厂家最新企业品牌推荐排行榜,高效盘条式混合机,无重力混合机,犁刀式混合机,锥形混合机,卧式螺带混合机推荐这十家公司!
  • 在PyCharm中运行 wandb.login();
  • 机器学习科学家分享技术写作艺术
  • AT VP 记录
  • 实用指南:npm run build 报错:Some chunks are larger than 500 KB after minification