题目传送门:https://codeforces.com/problemset/problem/482/B
题目大意:
给定\(m\)条限制,每条限制形如\(l_i,r_i,p_i\),表示序列\(A\)的\(A_{l_i}\&A_{l_i+1}\&...\&A_{r_i}=p_i\),问是否存在序列\(A\)满足\(m\)条限制
因为需要满足\(A_{l_i}\&A_{l_i+1}\&...\&A_{r_i}=p_i\),故\(A_{l_i}\sim A_{r_i}\)中的每一个数都至少含有\(p_i\),即\(A_j(l_i\leqslant j\leqslant r_i)\)必然可以表示为\(A_j=p_i|\alpha\)( \(|\) 表示或)
故我们可以每次给区间\([l_i,r_i]\)的所有数或上\(p_i\),然后再依次判断限制是否满足,最后单点查询输出即可
/*program from Wolfycz*/
#include