码迷,mamicode.com
首页 >  
搜索关键字:求逆序对    ( 276个结果
hdu2838Cow Sorting树状数组求逆序对
//对于数列中的一个数,在它前面比它大的一定要和它交换 //在它后面比它小的一定得和它交换 //可以用树状数组存入每一个数在它之前比它小的数的个数 //那么(i-1)-total[i]为在它前面比它大的数的个数 //然后在所有数都存入树状数组后用getsum(num[i])可以求出整个数列中比这个数小的数的个数 //那么getsum(num[i])-1-total[i]则为在它之后比它小...
分类:编程语言   时间:2015-03-06 20:47:31    阅读次数:160
hdu1394Minimum Inversion Number树状数组求逆序对水题
//ans[i]=ans[i-1]+(n+1)-2*num[i] //num[i]为输入时的数据 //ans[i]为m=i时的逆序数 //用树状数组求ans[0]的逆序对 #include #include #include using namespace std; const int maxn=5010; int num[maxn]; int tree[maxn]; int...
分类:编程语言   时间:2015-03-06 19:07:36    阅读次数:165
常用/常考算法总结
转自tangjz的博客...基础算法模拟搜索广度优先搜索(BFS)优化:双向BFS深度优先搜索(DFS)优化:折半DFS迭代加深搜索(IDS)启发式搜索(Astar)优化:IDAstar优化:剪枝、位运算排序冒泡排序/选择排序基数排序/桶排序计数排序插入排序/希尔排序快速排序归并排序/求逆序对数堆排...
分类:编程语言   时间:2015-02-23 10:50:21    阅读次数:330
POJ 2299 Ultra-QuickSort (树状数组or 归并排序分治求逆序对数)
题目大意就是说帮你给一些(n个)乱序的数,让你求冒泡排序需要交换数的次数(n 显然不能直接模拟冒泡排序,其实交换的次数就是序列的逆序对数。 由于数据范围是 0 ≤ a[i] ≤ 999,999,999所以先要离散化,然后用合适的数据结果求出逆序 可以用线段树一步一步添加a[i],每添加前查询前面添加比它的大的有多少个就可以了。 也可用树状数组,由于树状数组求的是(1...x)的数量和所以每...
分类:编程语言   时间:2015-02-22 20:47:46    阅读次数:200
POJ 3067 Japan
题意: 东海岸有x个城市,西海岸有y个。x与y 之间有很多高速公路。问k条路有多少个交叉点。 我就是求的逆序对,把east当作 pos 按照从大到小排序。然后插入。接下来的就跟求逆序对的一样了。 线段树或者数状数组都能过。 注意最后要用long long。 (午夜一发,写完吃个面包睡觉。 #include #include #include #include #include #in...
分类:其他好文   时间:2015-02-17 02:07:41    阅读次数:218
hdu 2838 求逆序对
/***************************************************************************************************************** 题意:给你N个排列不规则的数,任务是把它从小到大排好,每次只能交换相邻...
分类:其他好文   时间:2015-01-29 14:09:39    阅读次数:175
hdu1394(线段树求逆序对)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1394线段树功能:update:单点增减 query:区间求和分析:如果是0到n-1的排列,那么如果把第一个数放到最后,对于这个数列,逆序数是减少a[i],而增加n-1-a[i]的,所以每次变化为res+...
分类:其他好文   时间:2015-01-21 23:51:52    阅读次数:248
POJ 2299 Ultra-QuickSort
求逆序对个数。 暴力 n^2 TLE妥妥的。要么 归并排序的时候统计,要么线段树或者数状数组优化。 时间复杂度都是 n*logn 线段树求逆序数怎么写呢。 例如样例的 9 1 0 5 4 其位置pos 为 0 1 2 3 4 再来一个数组设为 0 0 0 0 0 线段树先插入 (9,0),把插入的位置 0 变成 1。 1 0 0 0 0 然后统...
分类:其他好文   时间:2015-01-13 12:34:11    阅读次数:189
归并排序求逆序对
归并排序求逆序对by mps 【1】什么是逆序对? 对于一个数列需要按从小到大排序,如果有ai,aj且满足ai>aj和i>1;20 merge_sort(l,mid);21 merge_sort(mid+1,r);22 Union(l,mid,r);...
分类:编程语言   时间:2014-12-23 23:49:24    阅读次数:261
树状数组求逆序对:POJ 2299、3067
前几天开始看树状数组了,然后开始找题来刷。 首先是 POJ 2299Ultra-QuickSort:http://poj.org/problem?id=2299 这题是指给你一个无序序列,只能交换相邻的两数使它有序,要你求出交换的次数。实质上就是求逆序对,网上有很多人说它的原理是冒泡排序,可...
分类:编程语言   时间:2014-12-13 23:22:22    阅读次数:286
276条   上一页 1 ... 22 23 24 25 26 ... 28 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!