![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树状数组
Re_cover
这个作者很懒,什么都没留下…
展开
-
Poj 2352 Stars
题目链接:http://poj.org/problem?id=2352 题目大意:输入n个星星的坐标,数据按y升序输入,星星的level值等于x,y都不大于该星星的星星个数,level不大于32000,要求输出[0,n]等级的星星数; 思路:简单的树状数组题,因为输入数据已经按y升序排列,所以星星的等级等于在它之前所有x坐标不大于它的星星个数,用树状数组实现,调用level函数原创 2013-03-30 00:59:18 · 610 阅读 · 0 评论 -
Poj 2155 Matrix
题目链接:http://poj.org/problem?id=2155 题目大意:给定一个n*n的01矩阵,初始时所有元素为0;若输入‘C’,输入两个坐标(x1,y1),(x2,y2),分别代表取反区域的左上角和右下角坐标,将取反区域内0值转为1,1值转为0;若输入‘Q’,输出输入坐标指向的矩阵元素的值; 思路:二维树状数组,操作与一维数组类似,注意a[i][j]储存的是取反的原创 2013-03-30 00:51:04 · 597 阅读 · 0 评论 -
Poj 3067 Japan
题目链接:http://poj.org/problem?id=3067 题目大意:输入K组数据,每组包含两个整数,分别代表东西海岸的城市的编号,表示连接对应编号的城市形成的路线,输出这K条路线的交点数,每个交点只由2条路线交叉而成; 思路:将线路数据存入结构体数组line中,将其按x升序排列,若x相同,则按y升序;利用sum函数统计当前线路左边(左边指排序后小于当前元素的一方)y值小于原创 2013-03-30 01:27:20 · 923 阅读 · 0 评论 -
Wiki OI 1080 线段树练习
题目链接:http://wikioi.com/problem/1080/ 算法与思路:树状数组,虽然这题题目是线段树练习,但是明显有单点更新,区间求和的特征, 所以树状数组也能做,至于思路就不赘述了,不懂树状数组可以看我前面几篇相关的题解。 #include #include int n, m; int a[100010]; int lowbit(int x) { return x & (原创 2013-07-11 20:03:28 · 1815 阅读 · 0 评论 -
Hdu 1166 敌兵布阵
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166 思路:简单树状数组; 对于刚接触树状数组的同学,推荐详解链接 http://dongxicheng.org/structure/binary_indexed_tree/ 代码实现: #include #include int n; int a[55555]; c原创 2013-03-30 00:38:56 · 643 阅读 · 0 评论 -
codeforces 301D Yaroslav and Divisors
题目链接:http://codeforces.com/problemset/problem/301/D 题目大意:给定一个1~n的排列,以及m次询问,每次询问给出左右边界L,R, 要你求出下标在[L,R]的数中,有多少对数满足一个数能被另外一个整除。 算法与思路:一个数x在1~n内能被多少个数整除?答案是n/x; 则1~n中有多少对数满足一个数能被另外一个整除的答案是 sum[n]=原创 2013-10-09 19:40:35 · 1168 阅读 · 0 评论