题意:给定n个数,求max((a[i] + a[j])^(a[k]))

思路:这个题。。现场赛竟然可以爆过去。。GG。。

这个题其实是Tire。我们可以先把所有的数字全部插入到Tire中去,

然后删除每次都从Trie中删除a[i],a[j],去查找a[i]+a[j],每次取最大值即可。

在建树的时候,二进制倒序建树,比如 4是100,那么建树的时候就是000000000000…100.从左往右依次插入到Tire中,

在查询的时候,按照贪心的思想,肯定最高位 ^ 出来的值是1约好,按照这个思想找即可。

 

HDU 4760 Good Firewall (Trie树)

题意:给你n个网络,再给你查询,两个ip地址,问你是不是属于某个网络,还有删除操作,删除某个网络。 思路:裸Trie。第一次学Trie。直接抄的网上的代码,如...

阅读全文

欢迎留言

*