hdu 2689
题意:给一串数字,找逆序数....
这一题我是用冒泡做的,毕竟数据小......反正AC了
不过后来在网上看是用树状数组做的,那我想线段树也可以做吧.....有时间敲下看.....
题目:点击打开链接
AC代码:
#include <iostream> using namespace std; int main() { int a[1010],i,j,temp,cnt,n; while(cin>>n){ cnt = 0; for(i=1;i<=n;i++) cin>>a[i]; for(i=1;i<n;i++) for(j=1;j<=n-i;j++) { if(a[j]>a[j+1]){ temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; cnt++; } } cout<<cnt<<endl; } return 0; }
AC代码:
#include <iostream> using namespace std; int main() { int n,i,j,a[1010]; while(cin>>n) { for(i=1; i<=n; i++) cin>>a[i]; int cnt = 0; for(i=1; i<=n; i++) for(j=i+1; j<=n; j++) if(a[i]>a[j]) cnt++; cout<<cnt<<endl; } return 0; }