问题 4832 --1.或位运算

4832: 1.或位运算

题目描述

  有一个长度为 $n$ 的非负整数序列 $x_1 \sim x_n$,满足 $m$ 个条件:
  • 第 $i$ 个条件为 $x_{l_i} \operatorname{or} x_{l_i+1} \operatorname{or} \cdots \operatorname{or} x_{r_i}=p_i$  。
其中 $or$  表示按位或运算。
请求出是否存在一个序列满足条件,如果存在,你还需要构造出一个这样的序列。

输入

第一行两个整数 $n,m$。
接下来  行每行三个整数 $l_i,r_i,p_i$

输出

如果存在这样的序列 $x$,第一行输出 Yes,第二行输出 $n$ 个不超过 $2^{30}-1$ 的非负整数表示 $x_1 \sim x_n$,你只要输出任意一组合法解即可。
否则如果不存在这样的序列 ,只要输出一行 No 即可。

样例输入输出

输入#1 复制
2 1
1 2 1
输出#1 复制
Yes
1 1

提示

对于 $30\%$ 的数据,$ n,m \leq 1000$ ;
对于另外 $30\%$ 的数据,$ p_i \leq 1$ ;
对于 $100\%$ 的数据,$1\leq n,m \leq 10^5 , 1 \leq l_i \leq r_i \leq n, 0 \leq p_i \leq 2^{30}$。

序号 标题 作者 发表时间 费用 订购数 操作