• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
magicat
博客园    首页    新随笔    联系   管理    订阅  订阅
New Year Tree

New Year Tree

线段树,打标记,位运算

  1. 操作1,区间赋值,很容易的线段树操作
  2. 对于询问以\(u\)为根的子树上的所有节点的颜色数量,一开始我在线段树里开了一个大小61的数组,喜提MLE,但后续观察发现,\(1 << 60 \leq \text{longlong}\),所以我们设每种颜色$ c_i $的值为\(1 << c_i\),对于update,左区间和右区间的颜色进行或运算即可,统计的颜色数量做一个1~60的位运算判断即可。

细节见代码

本文来自博客园,作者:magicat,转载请注明原文链接:https://www.cnblogs.com/magicat/p/17282641.html

posted on 2023-04-03 11:37  magicat  阅读(15)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3