首页 > 其他 > 详细

UVALive 6508 Permutation Graphs

时间:2015-10-04 21:01:13      阅读:226      评论:0      收藏:0      [点我收藏+]

Permutation Graphs

Time Limit: 3000ms
Memory Limit: 131072KB
This problem will be judged on UVALive. Original ID: 6508
64-bit integer IO format: %lld      Java class name: Main
技术分享
 
技术分享
解题:逆序数
技术分享
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 const int maxn = 100010;
 5 int c[maxn],hhash[maxn],n;
 6 void add(int i){
 7     while(i > 0){
 8         c[i] += 1;
 9         i -= i&-i;
10     }
11 }
12 int sum(int i,int ret = 0){
13     while(i < maxn){
14         ret += c[i];
15         i += i&-i;
16     }
17     return ret;
18 }
19 int main(){
20     int kase,tmp;
21     scanf("%d",&kase);
22     while(kase--){
23         scanf("%d",&n);
24         for(int i = 1; i <= n; ++i){
25             scanf("%d",&tmp);
26             hhash[tmp] = i;
27         }
28         memset(c,0,sizeof c);
29         LL ret = 0;
30         for(int i = 0; i < n; ++i){
31             scanf("%d",&tmp);
32             ret += sum(hhash[tmp] + 1);
33             add(hhash[tmp]);
34         }
35         printf("%lld\n",ret);
36     }
37     return 0;
38 }
View Code

 

UVALive 6508 Permutation Graphs

原文:http://www.cnblogs.com/crackpotisback/p/4854934.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!