Home
Problem
Status
Contest
Workbook
User
Group
Forum
Register
Login
{"managingGroups":{},"author":"alexandleo","updateTime":1537436187000,"title":"ACdream 1063...","dislikeCnt":0,"content":"```\n#include \u003cbits/stdc++.h\u003e\n#define endl \u0027\\n\u0027\n#define ll long long\n#define IO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)\n#define rep(ii,a,b) for(int ii\u003da;ii\u003c\u003db;++ii)\nusing namespace std;\nconst int maxn\u003d1e5+10,maxm\u003d2e6+10;\nint casn,n,m,k,num[maxn];\nstruct Trie{\n\tint next[maxn*32][2],size;\n\tll val[maxn*32];\n\tvoid init(){\n\t\tsize\u003d0;\n\t\tmemset(next,0,sizeof next);\n\t\tmemset(val,0,sizeof val);\n\t}\n\tvoid insert(ll x){\n\t\tint cur\u003d0;\n\t\tfor(int i\u003d32;i\u003e\u003d0;i--){\n\t\t\tint k\u003d(x\u003e\u003ei)\u00261;\n\t\t\tif(!next[cur][k]) next[cur][k]\u003d++size;\n\t\t\tcur\u003dnext[cur][k];\n\t\t}\n\t\tval[cur]\u003dx;\n\t}\n\tll find(ll x,bool flag){\n\t\tint cur\u003d0;\n\t\tfor(int i\u003d32;i\u003e\u003d0;i--){\n\t\t\tint k\u003d(x\u003e\u003ei)\u00261;\n\t\t\tif(flag){\n\t\t\t\tif(next[cur][k^1]) cur\u003dnext[cur][k^1];\n\t\t\t\telse cur\u003dnext[cur][k];\n\t\t\t}else {\n\t\t\t\tif(next[cur][k])cur\u003dnext[cur][k];\n\t\t\t\telse cur\u003dnext[cur][k^1];\n\t\t\t}\n\t\t}\n\t\treturn val[cur];\n\t}\n}trie;\n\nint main() {\n\tIO;\n\tcin\u003e\u003ecasn;\n\twhile(casn--){\n\t\tcin\u003e\u003en;\n\t\ttrie.init();\n\t\twhile(n--){\n\t\t\tll x;\n\t\t\tstring s;\n\t\t\tcin\u003e\u003es\u003e\u003ex;\n\t\t\tif(s\u003d\u003d\"insert\") trie.insert(x);\n\t\t\telse if(s\u003d\u003d\"qmin\") cout\u003c\u003c(x^trie.find(x,0))\u003c\u003cendl;\n\t\t\telse cout\u003c\u003c(x^trie.find(x,1))\u003c\u003cendl;\n\t\t}\n\t}\n\treturn 0;\n}\n\n```","threadId":35072,"likeCnt":1,"createTime":1537436166000,"isWorkbook":false,"viewCnt":1085,"openness":1,"fav":false,"id":649,"trustable":false}