随笔分类 -  数据结构---树状数组

摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3333 题目大意: 给出一数组,以及m个查询区间,每次查询该区间不同数字的和。相同数字只加一次。 解题思路: 离线区间,按照区间右端点进行排序。 这样可以从左到右扫一遍,用尺取法一个一个将数字放入树状数 阅读全文
posted @ 2018-08-31 15:02 _努力努力再努力x 阅读(159) 评论(0) 推荐(0)
摘要:题目链接: https://cn.vjudge.net/problem/ZOJ-3279 题目大意: 有1到n 那个level 每一个level有a[i]只蚂蚁两种操作 p a b 把第a个level的蚂蚁数量改成b q a 查询第a只蚂蚁在哪个level里。 解题思路: 用树状数组动态维护前缀和, 阅读全文
posted @ 2018-07-16 21:46 _努力努力再努力x 阅读(142) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/SPOJ-ORDERS 题目大意: 根据每个数字的逆序对求出原数组 解题思路: 举个例子: n = 5 a[ n ] = { 0, 1, 2, 0, 1 }; 对于第5个士兵,s[ 5 ] = { 1, 2, 3, 4, 5 }; 而 阅读全文
posted @ 2018-04-27 21:28 _努力努力再努力x 阅读(164) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2688 题目大意: 给你n数,(n<=3e6),有两个操作,Q为 当前有多少对数,满足严格递增,R l,r为旋转l,r这个区间的数 解题思路: 求严格递增的顺序对我们可以反向用树状数组求逆序对,300W 阅读全文
posted @ 2018-04-27 21:23 _努力努力再努力x 阅读(149) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1394 题目大意: 一个由0..n-1组成的序列,每次可以把队首的元素移到队尾, 求形成的n个序列中最小逆序对数目 解题思路: 如果求出第一种情况的逆序列,其他的可以通过递推来搞出来,一开始是t[1], 阅读全文
posted @ 2018-04-27 21:21 _努力努力再努力x 阅读(130) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2838 题目大意: 就是求将之前的排列变成一个递增的排列,每交换两个数的代价为两个数的和,求变成递增的排列所需的最小代价为多少。 其实就是求出逆序对的花费(每对逆序对的花费是这个逆序对的和) 解题思路: 阅读全文
posted @ 2018-04-26 22:22 _努力努力再努力x 阅读(131) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3584 题目大意: 给定一个N*N*N多维数据集A,其元素是0或是1。A[i,j,k]表示集合中第 i 行,第 j 列与第 k 层的值。 首先由A[i,j,k] = 0(1 <= i,j,k <= N) 阅读全文
posted @ 2018-04-26 22:00 _努力努力再努力x 阅读(176) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2642 题目大意: B x y:将星星x y点亮 D x y:将星星x y熄灭 Q x1 x2 y1 y2:询问该区域内有多少亮的星 解题思路: 二维树状数组模拟即可 注意: 1、下标+1 2、同一位置 阅读全文
posted @ 2018-04-26 21:51 _努力努力再努力x 阅读(160) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1892 题目大意: 题目大意:有很多方格,每个方格对应的坐标为(I,J),刚开始时每个格子里有1本书,然后让你统计一片区域有多少本书,还可以增加书和减少,移动书。 解题思路: 直接二维数组数组模拟 注意 阅读全文
posted @ 2018-04-26 21:24 _努力努力再努力x 阅读(127) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2852 题目大意: 题意: 给出三种操作, 0 在容器中插入一个数。 1 在容器中删除一个数。 2 求出容器中大于a的第k大元素。 解题思路: 用树状数组维护每个值,插入数字是add(x, 1),删除时 阅读全文
posted @ 2018-04-26 21:17 _努力努力再努力x 阅读(138) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3015 题目大意: 有一些树,这些树的高度和位置给出。现在高度和位置都按从小到大排序,对应一个新的rank,任意两棵树的值为min(高度的rank) * abs(位置差的绝对值)。问所有任意两棵树的值的 阅读全文
posted @ 2018-04-26 21:13 _努力努力再努力x 阅读(120) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-1990 题目大意: 一群牛参加完牛的节日后都有了不同程度的耳聋,第i头牛听见别人的讲话,别人的音量必须大于v[i],当两头牛i,j交流的时候,交流的最小声音为max{v[i],v[j]}*他们之间的距离。现在有n头牛,求他们 阅读全文
posted @ 2018-04-26 21:09 _努力努力再努力x 阅读(368) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-3321 题目大意: 题目大意级是说,给你一颗树,最初每个节点上都有一个苹果,有两种操作:修改(即修改某一个节点,修改时这一个节点苹果从有到无,或从无到有)和查询(查询某一个节点他的子树上有多少个苹果)。 解题思路: 对树的每 阅读全文
posted @ 2018-04-25 21:34 _努力努力再努力x 阅读(146) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-2155 题目大意: 给一个n*n的01矩阵,然后有两种操作(m次)C x1 y1 x2 y2是把这个小矩形内所有数字异或一遍,Q x y 是询问当前这个点的值是多少?n<=1000 m<=50000. 解题思路: 裸的二维树 阅读全文
posted @ 2018-04-25 20:31 _努力努力再努力x 阅读(166) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-2029 题目大意: 有N棵树在一个n*m的田里,给出每颗树的坐标 用一个s*t的矩形去围,最多能围几棵树 思路: 用二维树状数组求区域和,也可以直接用二维前缀和求解 1 #include<iostream> 2 #inclu 阅读全文
posted @ 2018-04-25 20:24 _努力努力再努力x 阅读(189) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-3067 题目大意: 日本岛东海岸与西海岸分别有N和M个城市,现在修高速公路连接东西海岸的城市,求交点个数。 解题思路: 记每条告诉公路为(x,y), 即东岸的第x个城市与西岸的第y个城市修一条路。当两条路有交点时,满足(x1 阅读全文
posted @ 2018-04-25 20:04 _努力努力再努力x 阅读(229) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-2481 题目大意: if Si <= Sj and Ej <= Ei and Ei - Si > Ej - Sj, we say that cow i is stronger than cow j. 此处的含义就是线段[Sj 阅读全文
posted @ 2018-04-25 15:42 _努力努力再努力x 阅读(194) 评论(0) 推荐(0)
摘要:题目链接: https://vjudge.net/problem/POJ-1195 题目大意: 直接维护二维树状数组 注意横纵坐标全部需要加1,因为树状数组从(1,1)开始 阅读全文
posted @ 2018-04-24 22:22 _努力努力再努力x 阅读(148) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1541 题目大意 : 在坐标上有n个星星,如果某个星星坐标为(x, y), 它的左下位置为:(x0,y0),x0<=x 且y0<=y。如果左下位置有a个星星,就表示这个星星属于level x 按照y递增 阅读全文
posted @ 2018-04-24 12:25 _努力努力再努力x 阅读(231) 评论(0) 推荐(0)
摘要:题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1556 题目大意: Problem Description N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a <= b),lele便为骑上他的“小飞鸽"牌电动车从气球 阅读全文
posted @ 2018-04-24 00:18 _努力努力再努力x 阅读(166) 评论(0) 推荐(0)