Processing math: 100%

随笔分类 -  树状数组

摘要:题目大意:给你一个1n的排列,问是否存在一对数a,b(1a,bn,ab)满足a+b为偶数且(a+b)/2ab之间。 数据范围:n3×105xfz智商=1系列题目 考虑到此题并没有问你存在多少对,而是是否存在,所以不要往统计 阅读全文
posted @ 2019-03-13 20:49 AlphaInf 阅读(194) 评论(0) 推荐(0) 编辑
摘要:数据范围:n2×105 以下是题解: 阅读全文
posted @ 2019-02-24 20:28 AlphaInf 阅读(270) 评论(0) 推荐(0) 编辑
摘要:题目大意:给你一个长度为n的数列ai,定义fi=rij=linumj。 有m个操作: 操作1:询问一个区间l,r请你求出ri=lfi。 操作2:将ax变成y。 此题貌似正常做都不是很好做,考虑用一些奇奇怪怪的做 阅读全文
posted @ 2019-02-06 23:02 AlphaInf 阅读(267) 评论(0) 推荐(15) 编辑
摘要:又是一道树状数组求逆序对的题目。 这一题我们可以将第二个串中的每一个字母,与第一个串中的字母做两两匹配,令第二个串第i个字母的值id[i]为该字母与第一个串中的字母匹配到的位置。 然后考虑到所求答案为最小的移动次数,那么这个最小的移动次数显然为序列id的逆序对个数。 树状数组求一求就没了。 我一看时 阅读全文
posted @ 2018-11-03 21:45 AlphaInf 阅读(181) 评论(4) 推荐(1) 编辑
摘要:您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:1. 插入x数2. 删除x数(若有多个相同的数,因只删除一个)3. 查询x数的排名(若有多个相同的数,因输出最小的排名)4. 查询排名为x的数5. 求x的前驱(前驱定义为小于x,且最大的数)6. 求$ 阅读全文
posted @ 2018-11-03 19:47 AlphaInf 阅读(303) 评论(2) 推荐(1) 编辑
摘要:这一题最终要构造的序列显然是一个单峰序列 首先有一个结论:一个序列通过交换相邻的元素,进行排序,最少的交换次数为该序列的逆序对个数 (该结论很久之前打表意外发现的,没想到用上了。。。。。) 考虑如何构造这个单峰序列 首先最大的数肯定是该序列的峰,余下的元素我们从大到小枚举,判断将其加入到当前序列的左 阅读全文
posted @ 2018-11-03 16:48 AlphaInf 阅读(233) 评论(0) 推荐(3) 编辑

点击右上角即可分享
微信分享提示