Time Limit Exceeded 求逆序对数。
/**
题目:Time Limit Exceeded
链接:https://oj.ejq.me/problem/28
题意:求逆序对数。
思路:树状数组求逆序对数。维护前面有多少个<=当前数的数的个数。
*/
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int maxn = 1e6+;
const int mod = 1e9+;
ll c[maxn];
int flag[maxn];
int n;
int a[maxn];
int lowbit(int t)
{
return t&(-t);
}
ll getSum(int pos)
{
ll sum = ;
while(pos>){
sum += c[pos];
pos -= lowbit(pos);
}
return sum;
}
void update(int pos,int add)
{
while(pos<=n){
c[pos]+=add;
pos += lowbit(pos);
}
}
int main()
{
while(scanf("%d",&n)==)
{
memset(flag, , sizeof flag);
for(int i = ; i <= n; i++){
scanf("%d",&a[i]);
flag[a[i]] = ;
}
int index = ;///树状数组从1开始。
for(int i = ; i <= ; i++){
if(flag[i]){
flag[i] = index++;
}
}
memset(c, , sizeof c);
ll ans = ;
for(int i = ; i <= n; i++){
ans += i--getSum(flag[a[i]]);
update(flag[a[i]],);
}
printf("%lld\n",ans);
}
return ;
}
Time Limit Exceeded 求逆序对数。的更多相关文章
- Ultra-QuickSort(树状数组求逆序对数)
Ultra-QuickSort 题目链接:http://poj.org/problem?id=2299 Time Limit: 7000MS Memory Limit: 65536K Total ...
- 怎样求逆序对数(Inverse Number)?
#返回上一级 @Author: 张海拔 @Update: 2014-01-14 @Link: http://www.cnblogs.com/zhanghaiba/p/3520089.html /* * ...
- 用树状数组求逆序对数(poj2299)
Ultra-QuickSort Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 46995 Accepted: 17168 ...
- hdu 4911 Inversion(归并排序求逆序对数)2014多校训练第5场
Inversion Time Limit: 20 ...
- hdu 6318 Swaps and Inversions (线段树求逆序对数)
Swaps and Inversions Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- Ultra-QuickSort(归并排序求逆序对数)
Time Limit: 7000MS Memory Limit: 65536K Total Submissions: 34283 Accepted: 12295 Description In ...
- POJ-2299 Ultra-QuickSort(用树状数组求逆序对数)
题目链接 ac代码 #include<iostream> #include<cstdio> #include<cstring> #include<algori ...
- POJ 2299 Ultra-QuickSort (求序列的逆序对数)
题意:废话了一大堆就是要你去求一个序列冒泡排序所需的交换的次数. 思路:实际上是要你去求一个序列的逆序队数 看案例: 9 1 0 5 4 9后面比它小的的数有4个 1后面有1个 0后面没有 5后面1个 ...
- Counter Strike HDU 2443 逆序对数
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2443 这个题目尝试了很多种方法都过不去,上网查了一下网友们的的思路,竟然和逆序对数有关系!! 题目大意: ...
随机推荐
- linux-排序-sort
命令格式: sort [参数][源文件][-o 输出文件] 参数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -f 排序时,忽略大小写字母. -M ...
- web 中加载配置文件
1.web.xml中配置 <!-- 加载配置文件 --> <listener> <description>ServletContextListen ...
- hadoop LineRecordReader
/** * * @param job 配置信息 * @param split split * @param recordDelimiter 分列的字符 * @throws IOException */ ...
- [Android Memory] 怎样使一个Android应用不被杀死
转载自: http://blog.sina.com.cn/s/blog_3e3fcadd0100yjo2.html 参考:http://blog.csdn.net/windskier/article/ ...
- PostgreSQL on Linux 最佳部署手册
安装常用包 # yum -y install coreutils glib2 lrzsz mpstat dstat sysstat e4fsprogs xfsprogs ntp readline-de ...
- 【Todo】Nodejs学习计划
/Users/baidu/Documents/Data/Interview/Web-Server开发/深入浅出Node.js-f46c.pdf /Users/baidu/Documents/Data/ ...
- Yii2 使用十二 配合ajaxFileUpload 上传文件
1.js $("input#upload").change(function () { $.ajaxFileUpload({ url: '/members/web-members- ...
- Spark Streaming从Flume Poll数据案例实战和内幕源码解密
本节课分成二部分讲解: 一.Spark Streaming on Polling from Flume实战 二.Spark Streaming on Polling from Flume源码 第一部分 ...
- Storm如何保证消息不丢失
storm保证从spout发出的每个tuple都会被完全处理.这篇文章介绍storm是怎么做到这个保证的,以及我们使用者怎么做才能充分利用storm的可靠性特点. 一个tuple被"完全处理 ...
- CentOS 5 全功能WWW服务器搭建全教程 V3.0
http://hx100.blog.51cto.com/44326/339949/ 一.基本系统安装1.下载CentOS 5我是下载的DVD版本,大家也可以下载服务器CD安装版本,其实都差不多.大家可 ...