XDOJ 简单逆序对
来源:互联网 发布:软件开发知识库 编辑:程序博客网 时间:2024/06/05 05:57
问题 B: 简单逆序对
时间限制: 1 Sec 内存限制: 128 MB
提交: 1661 解决: 241
[提交][状态][讨论版]
题目描述
逆序对问题对于大家来说已经是非常熟悉的问题了,就是求i<j时,a[i] > a[j]的组数。现在请你求出一串数字中的逆序对的个数,需要注意的是,这些数字均在[0,9]之内。
输入
第一行输入T,表示有T组测试数据
对于每组数据,首先输入n,代表有n个数(0<n<=10^6)
接下来输入n个数,每个数都在[0,9]之内
输出
输出逆序对的个数,且对10^9+7取模
样例输入
233 2 131 2 1
样例输出
31
思路:由于数据在0-9之间,可使每次的数据存入数组B[10]中,每个下标对应一个数的计数,只要计算B中比当前数的总和即可
</pre><pre name="code" class="cpp">#include<stdio.h>#define Mod 1000000007#define Max 1000000int Array[Max];int main(){ int T,n,p; scanf("%d",&T); for(p=0;p<T;p++) { int Num[10]={0}; scanf("%d",&n); int i,num=0; for(i=0;i<n;i++) scanf("%d",&Array[i]); for(i=0;i<n;i++) { int k,sum=0; k=Array[i]; Num[k]++; int i0; for( i0=k+1;i0<10;i0++) sum=(sum+Num[i0])%Mod; num=(num+sum)%Mod; } printf("%d\n",num); } return 0;}
0 0
- XDOJ 简单逆序对
- XDOJ 1024: 简单逆序对
- xdoj 1024 简单逆序对
- XDOJ 另一个简单游戏
- 逆序数 & 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- 逆序对
- WP--蓝牙编程
- 数据结构:图的邻接矩阵存储实现
- C语言 开放寻址法HASH表存储简单实现
- oracle TOPSQL整理
- 探索Javascript异步编程
- XDOJ 简单逆序对
- lua函数式编程应用
- MFC按钮添加提示文字
- 求公约数与公倍数的问题
- 三角形测试用例
- javascript学习十二:面向对象之extends
- Android仿新浪微博ListView效果
- nginx 403 forbidden 二种原因
- 代码总结