码迷,mamicode.com
首页 >  
搜索关键字:树状数组 逆序数    ( 4158个结果
树状数组求逆序数
树状数组求逆序数 样例输入: 3 1 2 3 4 4 3 2 1 样例输出: 0 6 #include #include #include #include using namespace std; int a[10005]; int n; int lowbit(int t) { return t&(-t); } void Update(int...
分类:其他好文   时间:2014-08-08 18:20:56    阅读次数:250
HDU1556 【树状数组】(改段求点)
#include#include#include#define maxn 100050using namespace std;int b[maxn];int n;int lowbit(int x){ return x&(-x);}void ADD(int x, int c) //向下查询...
分类:其他好文   时间:2014-08-08 17:55:46    阅读次数:224
HDU 4911 Inversion(基本算法-排序)
HDU 4911 Inversion(基本算法-排序) 题目大意: 有n个数,问你经过K次交换后的逆序数最少多少个? 解题思路: 根据排序的思想,每一步都能减少1个逆序数,所以K步之多减少K个逆序数。 因此,这题转化为了求逆序数,数据量略微大,用归并排序即可。...
分类:其他好文   时间:2014-08-08 12:58:36    阅读次数:228
HDU 1166 敌兵布阵 (我的树状数组加线段树点修改模板)
思路:本题因为是点修改,所以我们可以用线段树或者是树状数组了。线段树的基本操作我在我的代码中会具体体现,关键是要理解下面这幅图,具体的思想大家可以去看看其他的资料 线段树AC代码: #include #include #include #include #include using namespace std; #define N 50005 int num[N]; struct p { ...
分类:其他好文   时间:2014-08-08 12:47:16    阅读次数:296
Codeforces-Round 174(Cows and Sequence)
这道题是树状数组的题,但是用普通数组也能整出来,没学树状数组,就用的普通数组,算是高效算法吧,下面是我的修改思路: 1.一上来我写了如下代码:把每个新加进去的数压入vector,但是我在当t=1时,我的想法是将v[i]一个一个加上去,这样肯定会超时,而且我这个方法的sum是最后一起求的,这样多了个循环,又耗费时间。 #include #include #include #include #in...
分类:其他好文   时间:2014-08-08 12:39:25    阅读次数:305
POJ 2352 (stars)
【题意描述】就是给定n个星星的x,y坐标,y坐标按照从小到大的顺序进行排列,x坐标随机排列。下面求对于每个星星而言,其它星星的x,y的坐标都小于等于该星星的数目,然后输出所有的情况。【思路分析】我们这道题可以采用树状数组求解,将x+1作为树状数组的底标。【AC代码】#include #includ....
分类:其他好文   时间:2014-08-08 12:29:55    阅读次数:182
CodeForces 61E Enemy is weak 求i<j<k && a[i]>a[j]>a[k] 的对数 树状数组
题目链接:点击打开链接 题意是求 ia[j]>a[k] 的对数 如果只有2元组那就是求逆序数的做法 三元组的话就用一个树状数组x表示 数字i前面有多少个比自己大的个数 然后每次给这个y数组求和,再把x中>a[i]的个数存入y中即可 #include #include #include #include #include #include #include #incl...
分类:其他好文   时间:2014-08-08 02:04:59    阅读次数:207
HDU 4911 Inversion 求逆序数对
点击打开链接 Inversion Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1106    Accepted Submission(s): 474 Problem Description bob...
分类:其他好文   时间:2014-08-07 23:16:55    阅读次数:306
hdu 4638 Group
离线处理+树状数组 //http://blog.csdn.net/zz_1215/ #pragma comment(linker, "/STACK:102400000,102400000") #include #include #include #include #include #include #include #include #include #include #include #inc...
分类:其他好文   时间:2014-08-07 19:07:11    阅读次数:256
HDU Minimum Inversion Number
经典的线段树求解逆序数问题。   运用了一个逆序数的性质,如果一个数从首位换到尾位,这其逆序数将减少y[i],增加n-y[i]-1。   举个例子说明,如果一个排列3 1 2 0 4本来三前面应该有三个数比他小的,但是现在3在首位,则说明3产生的逆序数有3个,而将3换到尾位后,就说明比3大的都在3前面了,所以此时3的逆序数有n-y[i]-1(5-3-1 = 1).  线段树的话,先建立一个空...
分类:其他好文   时间:2014-08-07 13:09:40    阅读次数:178
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!