随笔分类 -  树状数组

摘要:题目链接:https://ac.nowcoder.com/acm/problem/14522 思路: 求区间内逆序对个数,可以找出逆序对之后求它对整个区间的贡献。 例如 j,k是一个逆序对,那么它对整个区间的贡献应该是(j-0)*(n-k+1),因此,用树状数组枚举k,找出(1~k-1)范围内大于a 阅读全文
posted @ 2020-07-08 14:11 blowhail 阅读(207) 评论(0) 推荐(0)
摘要:首先,我们规定两个相邻二进制数的“差值”为对应位数不同的个数(eg:01与10的差值为2,011与100的差值为3),然后,如果我们再对相邻两个二进制数进行异或运算,它的结果将会是下面这图这样的。然后,如果我们把他们两个的值放入到树状数组中,就会发现它完美的符合树状数组的运算(差值即为树状数组中的A 阅读全文
posted @ 2020-06-06 00:27 blowhail 阅读(109) 评论(0) 推荐(0)
摘要:题目链接: https://codeforces.com/contest/1362/problem/C 题目大意:计算从1-n 中,每相邻两个数的二进制的不同的数量差的和,比如100和101,有一个位置的数不同,那么他们的差值就为1,101和110,有两个位置不同,那么差值就为2. 思路: 如图,可 阅读全文
posted @ 2020-06-05 15:57 blowhail 阅读(264) 评论(0) 推荐(0)
摘要:题目链接:https://ac.nowcoder.com/acm/problem/13947 题目大意:有n个队伍参加三场比赛,如果队伍x有一场比赛赢了队伍y,y也有一场比赛赢了x,就算一组,求有多少组。 思路:这里我用了树状数组求逆序对的方法,先对第一场比赛进行排序,然后求第二场和第三场的逆序对, 阅读全文
posted @ 2020-06-04 11:57 blowhail 阅读(243) 评论(0) 推荐(0)
摘要:今天看了这篇博客,感觉对树状数组讲的非常透彻,存一下链接方便以后忘了看_(:з」∠)_ https://www.cnblogs.com/xenny/p/9739600.html 记录一下关键代码和注释 //lowbit计算2的k次方的值,k为 i 从最低位到最高位的连续0的个数 int lowbit 阅读全文
posted @ 2020-06-04 00:11 blowhail 阅读(130) 评论(0) 推荐(0)

Live2D