设为首页 加入收藏

TOP

NYOJ 233 &&NYOJ 322 Sort(树状数组)
2015-07-20 17:16:07 来源: 作者: 【 】 浏览:2
Tags:NYOJ 233 & 322 Sort

链接:click here

题意:

描述 You want to processe a sequence of n distinct integers by swapping two adjacent sequence elements until the sequence is sorted in ascending order. Then how many times it need.
For example, 1 2 3 5 4, we only need one operation : swap 5 and 4.
输入The input consists of T number of test cases.(<0T<1000) Each case consists of two lines: the first line contains a positive integer n (n <= 1000); the next line contains a permutation of the n integers from 1 to n.输出For each case, output the minimum times need to sort it in ascending order on a single line.样例输入
2
3
1 2 3
4
4 3 2 1
样例输出
0
6
思路:就是求一组数据的逆序数,树状数组求法,不解释:

代码:

#include 
    
     
#include 
     
       #include 
      
        #include 
       
         #include 
        
          #include 
         
           #include 
          
            #include 
           
             #include 
            
              #include 
             
               #include 
              
                using namespace std; #define lowbit(a) a&-a #define Max(a,b) a>b?a:b #define Min(a,b) a>b?b:a #define mem(a,b) memset(a,b,sizeof(a)) int dir[4][2]= {{1,0},{-1,0},{0,1},{0,-1}}; const double eps = 1e-6; const double Pi = acos(-1.0); static const int inf= ~0U>>2; static const int maxn =110; int h[1000001],w[100],Map[200]; int m[10001], N; void Add(int i) { while(i<=1001) { m[i]++; i+=lowbit(i); } } int Sum(int i) { int res=0; while(i>0) { res+=m[i]; i-=lowbit(i); } return res; } int main() { int T,temp; scanf("%d",&T); while(T--) { scanf("%d",&N); memset(m,0,sizeof(m)); int ans=0; for(int i=1; i<=N; i++) { scanf("%d",&temp); Add(temp); ans+=(i-Sum(temp)); } printf("%d\n",ans); } return 0; } 
              
             
            
           
          
         
        
       
      
     
    
When you want to give up, think of why you persist until now


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU 3853 LOOPS (概率dp) 下一篇1019. General Palindromic Numbe..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·怎样用 Python 写一 (2025-12-27 02:49:19)
·如何学习python数据 (2025-12-27 02:49:16)
·想要自学数据分析, (2025-12-27 02:49:14)
·Java 集合框架 - 菜 (2025-12-27 02:19:36)
·Java集合框架最全详 (2025-12-27 02:19:33)