归并排序求逆序
2015-08-15 23:42
295 查看
LL inverse(int *arr, int len) { if (len==1)return 0; LL inverseLeft=inverse(arr, len/2); LL inverseRight=inverse(arr+len/2, len-len/2); if(inverseRight>=mod) inverseRight %= mod; if(inverseLeft>=mod) inverseLeft %=mod; int i=0, j=len/2, k=0,inverse=0; while (i<len/2 && j < len) { if (arr[i] <= arr[j]) sorted[k++] = arr[i++]; else { sorted[k++] = arr[j++]; inverse += len/2 - i; } } while(i<len/2) sorted[k++] = arr[i++]; while(j<len) sorted[k++] = arr[j++]; memcpy(arr,sorted,len*sizeof(int)); return inverse+inverseLeft+inverseRight; }二分归并排序,个人模板
相关文章推荐
- 简单的输入框右侧下拉实现,基于AutoCompleteTextView
- Git 学习之--安装配置GitHub
- 初学Hibernate主键生成策略
- RHEL7 -- Linux搭建FTP虚拟用户
- System.out.println(2-1.1);
- poj 1947 Rebuilding Roads 树形dp
- 刀哥多线程自动释放池autoreleasepool
- UVa 11292 - Dragon of Loowater
- 网络路由设计基础
- SimpleDateFormat bug排查
- polya计数回顾
- vijos - P1223麦森数 (高精度乘法 + 分治 + python)
- 自己定义一个依赖属性 Wpf
- matlab通过摄像头获取图像进行处理
- NET下三种缓存机制(Winform里面的缓存使用 )
- LeetCode:Lowest Common Ancestor of a Binary Tree
- 通过GemBox.Spreadsheet完美操作Excel
- 如何让项目使用myEclipse部署成tomcat的ROOT目录
- PHP学习笔记-非常有用的 PHP 代码片段(1)
- python中的map、filter、reduce函数