树状数组
我不吃海鲜
这个作者很懒,什么都没留下…
展开
-
HDOJ 1166 树状数组
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1166、这题以前写过。不过用的是线段树。今天了解了一下树状数组。就用这个方法重新做了一下。特点就是lowbit函数。本来自己在草稿纸上拆解了一下树状数组的过程但是因为不知道为什么上传不了图片就没办法了。emm。其实这个就是公式C[i] = A[i+2^k-1]+A[i+2^k-2]+…..A[1]。k就是和i原创 2018-02-03 15:22:13 · 189 阅读 · 0 评论 -
HDOJ 1541 树状数组
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1541 题意:给一组星星,每颗星星左下角有多少个星星他就是多少级。然后输出没级星星个数。 题目按y升序。所以只要考虑x。 因为X,Y的范围不大。只有32000,所以可以建立树状数组了。#include<bits/stdc++.h> #define PI 3.1415926 #define INF 1e1原创 2018-02-05 16:05:12 · 235 阅读 · 0 评论 -
POJ 3468
题目:http://poj.org/problem?id=3468超时代码:#include<bits/stdc++.h> #define INF 1e18 #define inf 1e9 #define min(a,b) a<b?a:b #define max(a,b) a>b?a:b #define lson l,m,rt<<1 #define rson m...原创 2018-02-28 16:06:38 · 238 阅读 · 0 评论 -
POJ 3067 逆序对 树状数组
题目:http://poj.org/problem?id=3067 这是一个逆序对的问题。 逆序对问题以前用树状数组处理过但是这次又想了很久,可能上次没有完全弄明白。 首先逆序对用树状数组处理,是通过将第i位进行处理比该位数字高的数全部+1,所以就可以得出前面已经有多少个需要+的了。 这题,求交叉点,但是交叉点又只能两条路交叉,一画图就是个很明显的逆序对问题了。#include <stdio原创 2018-04-24 21:20:32 · 215 阅读 · 0 评论