HNOI2018
为什么HN今年风格也这么诡异呀。 先给个Achen的题解链接: http://www.cnblogs.com/Achenchen/p/8921650.html ,我的题解太简略了。 D1T1 我觉得这是一道很有趣的题呀 如果第i个数之前的运算符是and,则这一位设为1,否则为0,得到的二进制数记为xx。 对每一位分别考虑,对于第i位,如果第j个数是1,那么这一位设为1,否则为0,得到的二进制数记为$b_i$。 以左边为最低位,按前缀归纳容易证明,第i位的结果为1,当且仅当$x < b_i$ 我们将b从大到小排序,结果设为c,那么答案不为零仅当在c的顺序下,r中没有任何0在1的前面。 找到r中第一个0的位置,假设是k,那么解x要满足$c_k≤x<c_{k–1}$,于是答案是$c_{k – 1} – c_k$ //Serene #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> using namespace std; #define ll long long #define db double #define For(i,a,b) for(int i=(a);i<=(b);++i) #define Rep(i,a,b)