poj2299:Ultra-QuickSort
2015-09-30 16:46
549 查看
求逆序对即可,然而发现还是bit容易写。。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ultra-QuickSort
Description
View Code
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ultra-QuickSort
Time Limit: 7000MS | Memory Limit: 65536K | |
Total Submissions: 49549 | Accepted: 18142 |
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define rep(i,n) for(int i=1;i<=n;i++) struct data{ ll w;int c; bool operator<(const data&rhs)const { return w<rhs.w;} }e[500005]; int t[500005],n; int lowbit(int x){return x&-x;} void insert(int x){ for(int i=x;i<=n;i+=lowbit(i)) t[i]++; } int find(int x){ int tmp=0; for(int i=x;i;i-=lowbit(i)) tmp+=t[i]; return tmp; } int main(){ while(scanf("%d",&n)&&n){ memset(t,0,sizeof(t)); rep(i,n){ scanf("%lld",&e[i].w); e[i].c=i; } sort(e+1,e+n+1); ll ans=0; rep(i,n){ insert(e[i].c); ans+=i-find(e[i].c); } printf("%lld\n",ans); } return 0; }
View Code
相关文章推荐
- Parse query on pointer column
- UITableView使用selectRowAtIndexPath不能默认选中cell的问题
- UICollectionViewController 版本新特性
- 安装VMM 2012 R2累积更新1可能遇到的问题
- IOS开发-CALayer和UIView详细汇总
- c笔记05---逻辑表达式,break,continue 区别
- 《SICP》读书笔记--Chapter 1 Building Abstraction with Procedures
- OC编程无法识别UIImage,undeclared identifier 'image'
- Callable与Futrue创建线程
- 异常处理:使用UTF-8编码Mysql仍然抛出Incorrect string value异常
- UITextField键盘弹出调整承载textField的视图使其不被遮挡
- ueEditor 增加插件,超级方便
- DJANGO基础学习之request对象和response对象
- Android 中数据库查询方法query()中的selectionArgs的用法
- jquey实现的动态表格的新增及删除行
- Android.os.Build
- UITableView 二讲
- android更新UI的方法
- MySQL excel导入错误 Out of range value adjusted for column
- iOS UITableView(表格)