尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CF482B - Interesting Array

CF482B - Interesting Array
📅 发布时间:2026/6/19 18:48:02

CF482B - Interesting Array

大意

你需要构造一组解,满足给定的不同要求,每次的要求是 \(l, r, x\),必须保证 \(a_l \& a_{l + 1} \dots \& a_{r - 1} \& a_r = x\)。

思路

考虑用线段树构造。

对于这个题目,我们首先想到的是按位与的区间与是 \(x\),每次至少得把这个区间的每一个数都按位或上 \(x\),由此可知我们的 update 就是按位或,为了保证我们最终的答案是否可行,只需要把原始要求记一下,最后判断这些玩意的按位与是否和原来相同。

不难想到这样构造是唯一的,于是完。

代码

#include<iostream>
using namespace std;#define lc u << 1
#define rc u << 1 | 1
const int MAXN = 1e5 + 5;int n, m;struct node{int l, r;int val, sum;int tag;
}t[MAXN * 4];void build(int u, int l, int r){t[u] = {l, r, 0, 0};if(l == r){
//		t[u].sum = (1 << 30) - 1;return;}int mid = (l & r) + ((l ^ r) >> 1);build(lc, l, mid);build(rc, mid + 1, r);
}void pushdown(int u){if(t[u].tag){t[lc].sum |= t[u].tag;t[rc].sum |= t[u].tag;t[lc].tag |= t[u].tag;t[rc].tag |= t[u].tag;t[u].tag = 0;}
}void pushup(int u){t[u].sum = t[lc].sum & t[rc].sum;
}void update(int u, int l, int r, int k){if(l <= t[u].l && t[u].r <= r){t[u].tag |= k;t[u].sum |= k;return;}pushdown(u);int mid = (t[u].l & t[u].r) + ((t[u].l ^ t[u].r) >> 1);if(l <= mid) update(lc, l, r, k);if(r > mid) update(rc, l, r, k);pushup(u);
}int query(int u, int l, int r){if(l <= t[u].l && t[u].r <= r){return t[u].sum;}pushdown(u);int ans = (1 << 30) - 1;int mid = (t[u].l & t[u].r) + ((t[u].l ^ t[u].r) >> 1);if(l <= mid){ans &= query(lc, l, r);}if(r > mid){ans &= query(rc, l, r);}return ans;
}int l[MAXN], r[MAXN], x[MAXN];int main(){cin >> n >> m;build(1, 1, n);for(int i = 1;i <= m;i ++){cin >> l[i] >> r[i] >> x[i];update(1, l[i], r[i], x[i]);}for(int i = 1;i <= m;i ++){if(query(1, l[i], r[i]) != x[i]){cout << "NO\n";return 0;}}cout << "YES\n";for(int i = 1;i <= n;i ++){cout << query(1, i, i) << ' ';}return 0;
}

本文来自一名高中生,作者:To_Carpe_Diem

相关新闻

  • 3步搞定移动端语音识别:SenseVoice多语言SDK集成实战
  • Bananas屏幕共享工具:轻松实现跨平台实时协作的终极指南
  • JavaScript语法分析终极指南:Esprima深度解析与实战技巧

最新新闻

  • 2026厦门迪奥回收性价比测评|机构分级评分+无套路避坑指南 - 薛定谔的梨花猫
  • GEO源码搭建主体爱搜索GEO:源头技术如何赋能企业自主优化? - 品牌报告
  • 2026昆明首饰回收高口碑测评 全城合规门店优选高价变现指南 - 薛定谔的梨花猫
  • 杭州黄金回收正规门店推荐,国标仪器验金报价与到手价一致 - 奢品小当家
  • 2026合肥闲置包包回收指南:全城实测靠谱门店与行情解析 - 薛定谔的梨花猫
  • 梦断代码阅读笔记two

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号