标签:except icpc nbsp mod using line title otto mit
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 112 Accepted Submission(s): 66
1 //2017-08-31 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #define ll long long 6 #define mid ((st[id].l+st[id].r)>>1) 7 #define lson (id<<1) 8 #define rson ((id<<1)|1) 9 10 using namespace std; 11 12 const int N = 150000; 13 int arr[N]; 14 struct Node{ 15 int l, r, OR, XOR, AND; 16 }st[N<<3]; 17 18 void build(int id, int l, int r) 19 { 20 st[id].l = l; st[id].r = r; 21 if(l == r){ 22 st[id].OR = arr[l]; 23 st[id].AND = arr[l]; 24 st[id].XOR = arr[l]; 25 return; 26 } 27 build(lson, l, mid); 28 build(rson, mid+1, r); 29 st[id].OR = st[lson].OR | st[rson].OR; 30 st[id].XOR = st[lson].XOR ^ st[rson].XOR; 31 st[id].AND = st[lson].AND & st[rson].AND; 32 } 33 34 int query(int id, int l, int r, int op){ 35 if(st[id].l == l && st[id].r == r){ 36 if(op == 1)return st[id].OR; 37 if(op == 2)return st[id].XOR; 38 if(op == 3)return st[id].AND; 39 } 40 if(l > mid)return query(rson, l, r, op); 41 else if(r <= mid)return query(lson, l, r, op); 42 else{ 43 if(op == 1)return query(lson, l, mid, op) | query(rson, mid+1, r, op); 44 if(op == 2)return query(lson, l, mid, op) ^ query(rson, mid+1, r, op); 45 if(op == 3)return query(lson, l, mid, op) & query(rson, mid+1, r, op); 46 } 47 } 48 49 int main() 50 { 51 int n, q; 52 while(scanf("%d%d", &n, &q)!=EOF) 53 { 54 for(int i = 1; i <= n; i++) 55 scanf("%d", &arr[i]); 56 build(1, 1, n); 57 int p; 58 while(q--){ 59 scanf("%d", &p); 60 if(p == 1) 61 printf("%d %d %d\n", query(1, 2, n, 3), query(1, 2, n, 1), query(1, 2, n, 2)); 62 else if(p == n) 63 printf("%d %d %d\n", query(1, 1, n-1, 3), query(1, 1, n-1, 1), query(1, 1, n-1, 2)); 64 else 65 printf("%d %d %d\n", query(1, 1, p-1, 3)&query(1, p+1, n, 3), query(1, 1, p-1, 1)|query(1, p+1, n, 1), query(1, 1, p-1, 2)^query(1, p+1, n, 2)); 66 } 67 } 68 69 return 0; 70 }
标签:except icpc nbsp mod using line title otto mit
原文地址:http://www.cnblogs.com/Penn000/p/7460357.html