[2018.10.15 T1] 或
暂无连接
或
【题目描述】
小Q非常喜欢序列和位运算。
有一天,小Q想到了一个模型:一个长度为nnn的非负整数序列xxx,满足mmm个条件:第iii个条件为x[li]orx[li+1]or⋯orx[ri]=pix[l_i]\ or\ x[l_{i+1}]\ or\ \cdots\ or\ x[r_i]=p_ix[li] or x[li+1] or ⋯ or x[ri]=pi。他想知道是否存在一个序列满足条件,如果存在,他还要构造出一个这样的序列。
【输入】
第一行两个整数n,mn,mn,m。接下来mmm行每行三个整数li,ri,pil_i,r_i,p_ili,ri,pi。
【输出】
如果存在这样的序列xxx,第一行输出Yes,第二行输出nnn个不超过230−12^{30}−1230−1的非负整数表示x[1]∼x[n]x[1]\sim ~x[n]x[1]∼ x[n],否则输出一行NoNoNo。
【输入样例】
2 1
1 2 1
【输出样例】
Yes
1 1
【提示】
【数据规模及约定】
对于30%30\%30%的数据,n,m≤1000n,m≤1000n,m≤1000。
对于另外30%30\%30%的数据,pi≤1p_i≤1pi≤1。
对于100%100\%100%的数据,n,m≤100,000,1≤li≤ri≤n,0≤pi<230n,m≤100,000,1≤l_i≤r_i≤n,0≤p_i<2^{30}n,m≤100,000,1≤li≤ri≤n,0≤pi<230。
题解
如果一段区间ororor起来某几位等于000,那么该区间的这几位必须全部为000,所以我们开303030个序列维护每一位,通过查分做区间赋000操作。
最后按照我们构造出的每一位得出答案,用线段树checkcheckcheck一下即可。
代码
#include<bits/stdc++.h>
#define ls v<<1
#define rs v<<1|1
using namespace std;
const int M=1e5+5,bit=30;
int que[bit+2][M],ans[M],sum[M<<2],l[M],r[M],p[M],n,m;
void in(){scanf("%d%d",&n,&m);}
void up(int v){sum[v]=sum[ls]|sum[rs];}
void build(int v,int l,int r)
{if(l==r){sum[v]=ans[l];return;}int mid=l+r>>1;build(ls,l,mid);build(rs,mid+1,r);up(v);
}
int ask(int v,int le,int ri,int lb,int rb)
{if(lb<=le&&ri<=rb){return sum[v];}int mid=le+ri>>1,ans=0;if(lb<=mid)ans=ask(ls,le,mid,lb,rb);if(mid<rb)ans|=ask(rs,mid+1,ri,lb,rb);return ans;
}
void ac()
{for(int i=0;i<bit;++i)que[i][0]=1;for(int i=1,j;i<=m;++i){scanf("%d%d%d",&l[i],&r[i],&p[i]);for(j=0;j<bit;++j)if(!(p[i]>>j&1))--que[j][l[i]],++que[j][r[i]+1];}for(int i=0,j;i<bit;++i)for(j=1;j<=n;++j)que[i][j]+=que[i][j-1];for(int i=0,j;i<bit;++i)for(j=1;j<=n;++j)if(que[i][j]==1)ans[j]|=1<<i;build(1,1,n);for(int i=1;i<=m;++i)if(ask(1,1,n,l[i],r[i])!=p[i])puts("No"),exit(0);puts("Yes");for(int i=1;i<=n;++i)printf("%d ",ans[i]);
}
int main(){in(),ac();}
[2018.10.15 T1] 或相关推荐
- 【比赛报告】2018.10.15校赛[2015-9-13 NOIP模拟赛 by hzwer] NOIP练习赛卷十四
比赛时间:2018.10.15 选手:lrllrl 用时:2h 得分:100+10+90=200 最初想法是一个背包问题.首先背包问题的模型肯定是不行的,但是我们可以列出状态转移方程后发现,每个状态决 ...
- 【一周头条盘点】中国软件网(2018.10.15~2018.10.19)
每一个企业级应用的人都置顶了中国软件网 中国软件网为你带来最新鲜的行业干货 每周热点 ========= Gartner公布2019年十大战略科技发展趋势 全球领先的信息技术研究和顾问公司Gartne ...
- 2018.10.15 直播笔记
1 直播课不允许无故迟到.早退,有事请假,签到由大家自行截图,并发到有道云笔记中,最后把有道云笔记链接发到专贴. 截图需要分4部分,课前5分钟内.下课前5分钟内.中途休息时以及随机不定时截图,要求把上 ...
- 顺无盘linux win10包,(2018.05.21)云更新2016正式版x86_2016.10.15.4976无盘xp-win7x32-x64-win10x64公包...
官方2016.12.6更新版本修正各BUG (服务端支持x86 32位系统) Win10,ltsb企业版 2017.3.3更改三层地址,改善不配问题. 重新修改补丁,使其更稳定解决个别提示客户端配套问 ...
- 2018+黑苹果+vs+Linux,重点更新!完美黑苹果=Z370M+i5+RX590(硬解)10.15
本帖最后由 cbw390179428 于 2020-3-13 21:10 编辑 先来张图给大家解解馋! 配置是 主板:微星Z370M CPU:i5-8600K 显卡:女装大佬RX590 内存:芝棋8G ...
- 【比赛报告】2018.10.11校赛[8-2情人节欢乐赛] NOIP练习赛卷十二
比赛时间:2018.10.10 选手:lrllrl 成绩 100+100+100=300 用时:约1h T1 果实计数 显然易得,答案为 b n m o d k b^n\mod k bnmodk ...
- 2018.10.9模拟赛
2018.10.9模拟赛 T1 trade 正解:贪心 据说lyd讲过但并没有印象QAQ,考场上现推浪费了不少时间 其实就开个小根堆,每次把堆顶取出来看它是不是比当前的 a[i]a[i]a[i] 小, ...
- c语言程序设计实验指导交大答案,C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc...
C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案--2018.10修改.doc 实验一 Visual C集成环境实验内容(一)程序改错1.(1)无法运行(2)将第二个C程序重 ...
- 10天精读掌握:计算机组成与设计COAD:Patterson and Hennessy 第6天 2018/10.31
10天精读掌握:计算机组成与设计COAD:Patterson and Hennessy 第6天 2018/10.31 1. 第4次周计划概览 2. 今日学习成果 3. 今日时间表 4. 今日反思 5. ...
- 10天精读掌握:计算机组成与设计COAD:Patterson and Hennessy 第5天 2018/10.30
10天精读掌握:计算机组成与设计COAD:Patterson and Hennessy 第5天 2018/10.30 1. 第4次周计划概览 2. 今日学习成果 3. 今日时间表 4. 今日反思 今天 ...
最新文章
- diy 扫地机器人 滚刷_不想动手倒垃圾?自集尘扫地机器人彻底解放你的双手!...
- 【Git报错】 ! [rejected] master - master (fetch first)
- ASP.net的身份验证方式有哪些?分别是什么原理?
- nagios通过微信告警(无限制告警条数)
- 2.STM32中对Key_GPIO_Config()函数的理解(自定义)之轮询控制按键LED
- linux 编译C++错误整理
- 今天去医院拿宝宝的微量元素检查结果
- Java开发技巧:Java如何编译运行?
- [洛谷3121]审查
- 有的人走着走着就散了!
- Spark源码分析之Job触发原理
- 只显示小方格_魔力科学小实验 | 只能剪一刀,如何将图片中的红白方块分开?...
- Redis 官方文档译注
- ros路由器cpu占用率高的原因和解决
- 推荐几个设计师常去的优秀素材网站!收藏好哦!
- 如何区分网线是几类的_如何判断网线是几类线?
- JavaScript权威指南7(四) 第十一章 JavaScript 标准库
- IT项目经理沟通技巧的重要性
- 解决TypeError:Cannot read properties of undefined并深入解读TypeError错误类型
- 参数方程求二阶导时候不能直接把y,x分别对t求二阶导然后再相除作为d²y/dx²的原因
热门文章
- php 工业通讯录,PHP 制作通讯录(六)
- mysql导出csv 分隔符_导出到CSV文件,CSV文件好像是以逗号为分隔符的吧?如果数据库字段里含有逗号怎么处理?比如说下面这个字...
- jpress连接不上mysql_win10+jdk+mysql+tomcat+jpress环境搭建与部署
- JSONObject.toBean方法复制不成功
- php处理数组函数大全
- springboot(运行原理参考借鉴)
- C++ 指针二维数组, C++二维指针数组笔记
- 关于个人电脑连不上公司svn服务器,显示拒绝访问的错误
- 技术人员,你的表达能力怎样?
- 数据分析第二章确定分析思路