标签:
地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=5536
题目:
Time Limit: 18000/9000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)
Total Submission(s): 2044 Accepted Submission(s): 919
#include<stdio.h> int a[1001]; int max(int ta,int b) { if(ta>b) return ta; return b; } int sc(int ta,int tb,int tc,int ans) { return max(ans,(ta+tb)^tc); } int main(void) { int t,n; scanf("%d",&t); while(t--) { int ans=0; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) for(int k=j+1;k<=n;k++) ans=sc(a[i],a[j],a[k],ans),ans=sc(a[j],a[k],a[i],ans),ans=sc(a[i],a[k],a[j],ans); printf("%d\n",ans); } return 0; }
01trie代码:
#include <stdio.h> #include <string.h> struct Trie { int root, tot, next[100001][2], cnt[100001], end[100001]; inline int Newnode() { memset(next[tot], -1, sizeof(next[tot])); cnt[tot] = 0; end[tot] = 0; return tot ++; } inline void Init() { tot = 0; root = Newnode(); } inline void Insert(int x) { int p = root; cnt[p] ++; for(int i = 31; i >= 0; i --) { int idx = ((1 << i) & x) ? 1 : 0; if(next[p][idx] == -1) next[p][idx] = Newnode(); p = next[p][idx]; cnt[p] ++; } end[p] = x; } inline void Del(int x) { int p = root; cnt[p] --; for(int i = 31; i >= 0; i --) { int idx = ((1 << i) & x) ? 1 : 0; p = next[p][idx]; cnt[p] --; } } inline int Search(int x) { int p = root; for(int i = 31; i >= 0; i --) { int idx = ((1 << i) & x) ? 1 : 0; if(idx == 0) { if(next[p][1] != -1 && cnt[next[p][1]]) p = next[p][1]; else p = next[p][0]; } else { if(next[p][0] != -1 && cnt[next[p][0]]) p = next[p][0]; else p = next[p][1]; } } return x ^ end[p]; } }tr; int max(int ta,int tb) { return ta>=tb?ta:tb; } int a[1001]; int main(void) { int t; scanf("%d",&t); while(t--) { int n,ans=0;scanf("%d",&n); tr.Init(); for(int i=1;i<=n;i++) scanf("%d",&a[i]),tr.Insert(a[i]); for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) { tr.Del(a[i]),tr.Del(a[j]); ans=max(ans,tr.Search(a[i]+a[j])); tr.Insert(a[i]),tr.Insert(a[j]); } printf("%d\n",ans); } return 0; }
标签:
原文地址:http://www.cnblogs.com/weeping/p/5932731.html