数据结构~树状数组
哇-WA
这个作者很懒,什么都没留下…
展开
-
树状数组【模板】
树状数组(BIT)是能够完成下述操作的数据结构。给定i,计算a1+a2+...ai给定i和x,执行ai+=x可以利用前缀和的思想计算任意区间的和。详细讲解参考《挑战程序设计(第2版)》P175计算节点的父节点int lowbit(int x){ return x&(-x);}修改节点void add(int i,int x){ while(i<=n) {...原创 2018-04-09 08:29:50 · 3979 阅读 · 1 评论 -
树状数组求逆序数【模板】
树状数组模板转到 点击打开链接可以用 c[i] 记录小于 i 的数字的个数。这个可以利用树状数组的特性,每添加一个数字i,向其父节点更新(父节点一定大于i),可以在log(n)的时间内完成更新。sum(i) 查询1~i区间内的小于i的个数。计算逆序数的时候只需要用i-sum(i)就行了。如果给出的数字范围过大,还需要进行离散化。离散化时需要记录其原本的位置。给出一个经过离散化的模板:#includ...原创 2018-04-10 14:18:12 · 226 阅读 · 0 评论 -
Educational Codeforces Round 41 (Rated for Div. 2) E. Tufurama【树状数组】
E. Tufuramatime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputOne day Polycarp decided to rewatch his absolute favourite episode of well-known TV ser...原创 2018-04-10 15:47:19 · 139 阅读 · 0 评论 -
历届试题 小朋友排队【树状数组】
历届试题 小朋友排队 时间限制:1.0s 内存限制:256.0MB 问题描述 n 个小朋友站成一排。现在要把他们按身高从低到高的顺序排列,但是每次只能交换位置相邻的两个小朋友。 每个小朋友都有一个不高兴的程度。开始的时候,所有小朋友的不高兴程度都是0。 如果某个小朋友第一次被要求交换,则他的不高兴程度增加1,如果第二次要求他交换,则他的不高兴程度增加2(即...原创 2018-09-21 21:21:05 · 189 阅读 · 0 评论