
树状数组
hxxjxw
这个作者很懒,什么都没留下…
展开
-
POJ - 2299 Ultra-QuickSort 求逆序对数(树状数组离散化/归并排序)
题目大意:给出一个序列,求将它们冒泡排序的交换次数。 题解: ①树状数组求逆序对数的一个典例题,但要注意需要离散化,因为n的范围是5e5,而a[i]的范围是1e10,数组开不了1e10那么大,所以离散化一下,只需要开到5e5就可以了 #include<cstdio> #include<iostream> #include<algorithm&g...原创 2018-09-13 21:45:38 · 222 阅读 · 0 评论 -
POJ - 3067 Japan (树状数组 思维)
题意: 日本东海岸有N个城市(从北到南命名为1, 2, ..., N),西海岸有M个城市(从北到南命名为1, 2, ..., M),东西之间有K条高速公路,问这K条高速公路有多少个交叉点(一个交叉点有且只有两条高速公路经过)(1000 <= N, M <= 1000)。 题解: 记每条高速公路为(x,y), 即东岸的第x个城市与西岸的第y个城市修一条...原创 2018-09-14 09:16:33 · 363 阅读 · 0 评论 -
POJ - 2352 Stars (树状数组 入门题)
题目大意: 给你星星的坐标(y递增,若y相等,x递增),每个星星都有一个等级,规定它的等级就是在它左下方的星星的个数。输入所有星星后,依次输出等级为0到n-1的星星的个数。 解题思路: 统计x前面比它小的星星的个数。注意的是:给的点的坐标是从0开始的,树状数组下标为0的位置不可用,所以我们需要在输入x坐标时+1。 因为本题给出的数据就是已经按照y...原创 2018-09-14 09:21:40 · 1260 阅读 · 0 评论 -
HDU - 1166 敌兵布阵 (树状数组模板题/线段树模板题)
①树状数组 #include<bits/stdc++.h> using namespace std; int n; int c[50010]; int lowbit(int x) { return x & -x; } void add(int i,int val)// Add操作,将第i个元素增加val,那么他的父节点也要增加+ { while(i<...原创 2018-09-14 14:25:56 · 165 阅读 · 0 评论 -
POJ - 2481 Cows (树状数组 入门题)
题目大意:FJ有n头牛(编号为1~n),每一头牛都有一个测验值(S,E),对于牛i和牛j来说,如果它们的测验值满足下面的条件则表示牛i比牛j强壮:Si <= Sj and Ej <= Ei and Ei - Si > Ej - Sj。现在已知每一头牛的测验值,要求输出每头牛有几头牛比其强壮。 题解:和POJ2352 stars比较像,但是stars给出的数据是排好...原创 2018-09-15 00:19:04 · 210 阅读 · 0 评论