03 2020 档案
摘要:预备知识:反素数解析 思路:有了反素数的解法之后就是线段树的事了。 我们可以用线段树来维护哪些人被淘汰,哪些人没被淘汰,被淘汰的人的位置,没被淘汰的人的位置。 我们可以把所有人表示为一个[1,n]的区间,没被淘汰的人权值为1,那么通过线段树维护区间和,就可以知道没被淘汰人的分布情况,tree[roo
阅读全文
摘要:反素数的定义: 对于任何正整数,其约数个数记为,例如,如果某个正整数满足:对任意的正整 数,都有,那么称为反素数。 或者: 一个[1,n]的连续区间, 约数相同的最小数x,x是反素数。例如:f(6) = 4,f(8) = 4,6是约数为4切最小的数,所以6是约数。 反素数性质: 反素数肯定是从2开始
阅读全文
摘要:题目链接:https://i-beta.cnblogs.com/posts/edit 思路:对输入数据反向思考,那么输入的位置x代表他之前已经有x个人存在, 但是后面的人会插队,那么已经有x个人存在可以表示为,前面应该还有几个空位。 因为我们是反向遍历位置关系,那么我们只需要维护数组前面有x个空位就
阅读全文
摘要:题目链接:https://vjudge.net/problem/HDU-2795 思路:h = 1e9行不通,因为广告是1*w的,所以n个广告最多只需要 h = n的高度,那么h=2e5就可以接受了。 用树状数组维护区间最大值。 从前往后区间查询哪一大块块首先满足条件,然后一直缩小区间,直到区间长度
阅读全文
摘要:清楚的图解,解释树状数组求逆序对的方法,转载:https://blog.csdn.net/ssimple_y/article/details/53744096 题目:https://vjudge.net/problem/HDU-1394 思路:因为数字[1,n],把a[i]放到末尾,逆序对数量会增加
阅读全文
摘要:理解:二进制末位次方为该位置管辖的范围,无法管辖的范围就是该数减去该二进制末位次方,递推往上,直到得到[1,n]的管辖点,然后相加。某个位置修改,会导致管辖它的点也相应被修改,这关键就是二进制的进位来更新管辖它的点,2^0一定被2^1管辖,2^1一定被2^2管辖。因为二进制的独特性,把这些最关键也是
阅读全文

浙公网安备 33010602011771号