Codeforces 282E Sausage Maximization Trie字典树

来源:互联网 发布:淘宝金酷娃玩具扫地车 编辑:程序博客网 时间:2024/06/05 03:27

题意:给n个数字组成的串, 可分成不相交的前缀和后缀,要求让该前缀和后缀内的所有数的xor值最大

题解:我们可以先处理出到第i位的前缀xor值,和i位开始的后缀xor值,因为要求前缀后缀不相交,所以我们可以将对于第i位,可以将i位前的前缀都加入字典树,然后在字典树中去匹配后缀,匹配原则如下:
首先,字典树存的是前缀的二进制,查询的是后缀的二进制,数据范围最多32位,所以树32层,即我们可以将,前缀后缀都转化为32位二进制。

添加时,从最高位开始添加。查询时也一样。

对于每一位,不同的xor值为1,所以我们尽量找不同的,否则开辟新枝。

另外,求前缀后缀时,可和添加查询一起在一个for循环内求得,后缀利用的位运算是(a^b^c)^a=b^c。


代码

开始的版本: https://github.com/liusiyuxyfx/MyACM/blob/master/DataStructure/TrieTree/CF282E.cpp

优化修改过的:https://github.com/liusiyuxyfx/MyACM/blob/master/DataStructure/TrieTree/CF282E-2.cpp


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 糖果手机声音小怎么办 产品出现了问题怎么办 插头螺丝太紧怎么办 宜家儿童乐园怎么办卡 泰国旅游有蚊子怎么办 啦泰国旅游拉肚子怎么办 电动车上不了牌怎么办 电动车电压低了怎么办 电车显示器不亮怎么办 电动车故障显示m怎么办 电动车上面出现m怎么办 佰仟乐购额度没有了怎么办 交易密码忘记了怎么办? 电脑打开没网怎么办 网络配适器无法运行怎么办 电脑dns没有响应怎么办 win7系统没有网上邻居怎么办 win10网络重置了怎么办 win7桌面没有网上邻居怎么办 win7电脑没有网上邻居怎么办 无线网连接受限怎么办 win7账户被锁定怎么办 贷款sdk授权失败怎么办 京东保价发票怎么办 淘宝购物出现质量问题怎么办 淘宝购物降价了怎么办 淘宝购物物流慢怎么办 在淘宝购物退货怎么办 淘宝购物未付款怎么办 淘宝购物余额不足怎么办 淘宝购物漏发货怎么办 京东618无货怎么办 iis默认文档无效怎么办? 购物卡没有磁性怎么办 墙面贴纸没有贴怎么办 车显示电池符号怎么办 遇上北京购物团怎么办 钱柜老是钱不见怎么办 写真顾客退单怎么办 电视不支持投屏怎么办 qq转错账的钱怎么办