bzoj4571 美味
来源:互联网 发布:方舟生存进化淘宝购买 编辑:程序博客网 时间:2024/05/16 18:33
美味
题目背景:
bzoj4571
分析: 首先,明确一个异或的套路,高位贪心,然后我们就可以发现,想要每一次求出最大值,就是针对给出的bi进行高位贪心,现在我们来一步步解决此题,从简化版开始考虑。
1、 有每一道菜的美味值ai,并且没有l,r的限制,也没有偏爱值xi
方法:因为需要满足高位贪心,那么,我们只需要将每一个ai计入一个trie树中,然后将每一个bi放在trie上跑,每次判定是否在当前的位置上是否有与之不同的一个(为0,找1,为1,找0),然后走到最后一个即可。
2、 有每一道菜的美味值ai,没有l,r的限制,有偏爱值xi
方法:因为这一次有了偏爱值的限制,那么显然的,我们不能直接将值放入trie树,然后我们考虑,我们每一次寻找的都是一段权值的区间,那么我们将这个区间的最小和最大都减去xi,所得到的就是我们想要找的区间,那么如何求的在这样一个值域中是否存在有数呢,那么用一个权值线段树就可以简单的维护啦
3、 现在我们考虑题目的最终版,有l,r的限制,有偏爱值xi
方法:有了l,r那么每一次我们该如何查找呢,这意味着我们需要在每一位上建立权值线段树,那么结果当然就是主席树了,每一次加入一个树然后对于询问的区间查找在当前的区间中,是否存在当前值域限制中的数即可,最终的复杂度应该是 O((询问个数) * (位数的枚举) * (主席树)) = O(nlog2n)
Source:
0 0
- bzoj4571 美味
- BZOJ4571 [Scoi2016]美味
- bzoj4571【SCOI2016】美味
- BZOJ4571: [Scoi2016]美味
- 【bzoj4571】[Scoi2016]美味 主席树
- 【bzoj4571】【SCOI2016】【美味】【主席树+贪心】
- [BZOJ4571][SCOI2016]美味(二分+主席树)
- 【bzoj4571: [Scoi2016]美味】区间异或和最大 ,可持久化线段树(主席树)
- [Scoi2016]美味
- 盐是最美味的
- 美味糯米排骨
- 美味酸菜鱼的做法
- 青岛美味海鲜
- 年度最美味短信
- 我的美味书签
- C#美味msChart控件
- 世界上最美味早餐
- 最美味的泡面
- [LeetCode]7 Reverse Integer
- SPFA算法模板
- 修改tomcat下项目标题小图标
- Codeforces 732E Sockets【贪心】
- Udp、Rtp协议头配图解析
- bzoj4571 美味
- Linux kernel 软中断机制之软中断执行
- C++—类中的6个默认成员
- Djange学习笔记1
- Hive环境搭建和实例
- BZOJ 1009 [HNOI2008] GT考试
- 初识socket
- Android数据存储—使用SQLite数据库
- Retrofit初体验