树状数组
TooSIMple_
十倍努力做突出一个!
展开
-
HDU2838 Cow Sorting (树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2838题意如下:有n个数,从1-n,把这n个按照递增的顺序排列,每次只能够交换相邻的两个数,交换的代价为两数字之和,求交换的最小代价。思路:如果第i个数要交换要具备以下两个条件之一:第i个数前面有大于它的数或者第i个后面有小于它的数。所以题目就可以转化为:求第i个数字前面有几个大于它的数和后面有原创 2017-07-30 11:41:55 · 257 阅读 · 0 评论 -
HDU1394 Minimum Inversion Number (树状数组)
Minimum Inversion NumberTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 21638 Accepted Submission(s): 12934Problem Description原创 2017-09-27 11:44:06 · 179 阅读 · 0 评论 -
HDU4991 Ordered Subsequence (树状数组+dp)
Ordered SubsequenceTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 674 Accepted Submission(s): 319Problem DescriptionA numeri原创 2017-08-26 09:20:11 · 276 阅读 · 0 评论 -
HDU1556 Color the ball (树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1556题意就不再赘述,说下解题思路:这道题目是树状数组区间查询点更新的题目,所谓的区间更新就是更新区间[l,r]里的每一个数,点查询则是只查询某一点的值,和以前经常遇见的更新某点查询区间是相反过来的。通过对树状数组存储结构的观察,单纯的把区间内的每一个点都更新是不可能的,不过我们可以给某些点原创 2017-08-06 10:40:27 · 258 阅读 · 0 评论 -
HDU2689 Sort it (树状数组|水题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2689题意很好理解,在这里就不再赘述。第一种解法:数据量较小,水过~AC代码如下:#include #include using namespace std;const int maxn = 1005;int a[maxn],n;int main(){ while原创 2017-07-27 20:23:29 · 236 阅读 · 0 评论 -
HDU1541 Stars (树状数组)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1541题目大意:一开始有n个星星,计算第i颗星星的左下方有多少颗星星(不包括本身)。思路:其实这个题目乍一看的话并没有想到怎么用树状数组。仔细看了看,发现y是按照递增的顺序输入的,也就是可以按照x的坐标求(画图分析下事例就明白了)。要注意下这道题目坐标是从0开始的,而树状数组不能求坐标为0的坐标,原创 2017-07-27 14:59:52 · 476 阅读 · 0 评论 -
POJ3468 A Simple Problem with Integers (树状数组 | 线段树)
题目链接:http://poj.org/problem?id=3468方法一:树状数组 区间修改区间查询问题。讲一下关于树状数组区间修改和区间查询的问题的解决方法。设a[i]为原数组,d[i] = a[i] - a[i-1],其中a[0] = 0; 递推一下: d[2] = a[2] - a[1] d[3] = a原创 2017-08-03 20:56:33 · 214 阅读 · 0 评论 -
HDU1754 I Hate It (树状数组 | 线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1754解法一:树状数组:首先要注意下query()函数里的操作和update()函数里的操作。先解释下update()函数里的操作,令原数组a[i] = num,即每次都使得a[i]中保留第i个学生最新的成绩。这个操作在query()函数里将会有较大的用处。再来说下关于query原创 2017-08-04 10:54:19 · 330 阅读 · 0 评论 -
HDU1559 最大子矩阵 (二维树状数组)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1559题目大意:给一个n*m的矩阵,求一个x*y的最大子矩阵和。思路:sum(x,y) = query(i,j) - query(i-x,j) - query(i,j-y) + query(i-x,j-y)。然后二维树状数组求解即可。#include using namespace std原创 2017-08-09 22:37:18 · 383 阅读 · 0 评论 -
HDU1166 敌兵布阵 (树状数组 | 线段树)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1166题意就不再多啰嗦了,这道题目是树状数组模板题目,也是我的第一个树状数组题目。就说一下一开始我的错误之处,我是直接输入a[i]的,而不是通过add()生成a[i],所以在后期求和的时候总是求不对。正确的做法应该是通过add(i,val)生成a[i],这个,在管理第i的节点的以后的节点都会加原创 2017-07-27 09:05:24 · 323 阅读 · 0 评论 -
FZU2236 第十四个目标 (树状数组)
Problem 2236 第十四个目标Accept: 158 Submit: 518Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description目暮警官、妃英里、阿笠博士等人接连遭到不明身份之人的暗算,柯南追踪伤害阿笠博士的凶手,根据几起案件现场留下的线索发现凶手按照扑克牌的顺序行凶。原创 2018-01-29 10:36:09 · 205 阅读 · 0 评论