http://acm.nyist.net/JudgeOnline/problem.php?pid=117树状数组求逆序数+离散化

本文主要是介绍http://acm.nyist.net/JudgeOnline/problem.php?pid=117树状数组求逆序数+离散化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这一题一开始是胸有成竹的,本想1A的,但是接二连三的wa了好几次。。。把我满满的自信心消磨殆尽了。。我一遍一遍的寻找错误,就是找不到。。最后实在没办法要了后台的数据。。运行一看。令我大跌眼眶。。。。竟然都对了,,但为什么WA呢?可能是这一题判题写错了?,最后在不抱希望的情况下我把%I64d改成了%lld,竟然AC了,苦逼的孩子。。oj竟然不支持%I64d.....

AC代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string.h>
#define N 1000005
using namespace std;
int s[N];
int kp[N];
int  a[N];
int tot;
typedef long long L;
int lowbit(int x)
{return x&(-x);
}
void update(int x)
{while(x<N){   s[x]++;x+=lowbit(x);}
}
L Quary(int x)
{ L sum=0;while(x>0){ sum+=s[x];x-=lowbit(x);}return sum;
}
int lisan(int x)
{  int l=1,r=tot;while(l<=r){  int mid=(l+r)>>1;if(a[mid]==x) return mid;else if(a[mid]<x)  l=mid+1;else if(a[mid]>x)  r=mid-1;}
}
int main()
{ int T;//freopen("d:\\1.txt","r",stdin);//freopen("d:\\2.txt","w",stdout);scanf("%d",&T);while(T--){  memset(s,0,sizeof(s));int n;scanf("%d",&n);tot=0;for(int i=1;i<=n;++i){scanf("%d",&kp[i]);a[i]=kp[i];}sort(a+1,a+n+1);for(int i=1;i<=n;++i)if(i==1||a[i]!=a[i-1])a[++tot]=a[i];L res=0;for(int i=1;i<=n;++i){  int num=lisan(kp[i]);update(num);res+=i-Quary(num);}printf("%lld\n",res);}return 0;
}



这篇关于http://acm.nyist.net/JudgeOnline/problem.php?pid=117树状数组求逆序数+离散化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590070

相关文章

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

C#利用Free Spire.XLS for .NET复制Excel工作表

《C#利用FreeSpire.XLSfor.NET复制Excel工作表》在日常的.NET开发中,我们经常需要操作Excel文件,本文将详细介绍C#如何使用FreeSpire.XLSfor.NET... 目录1. 环境准备2. 核心功能3. android示例代码3.1 在同一工作簿内复制工作表3.2 在不同

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

PHP应用中处理限流和API节流的最佳实践

《PHP应用中处理限流和API节流的最佳实践》限流和API节流对于确保Web应用程序的可靠性、安全性和可扩展性至关重要,本文将详细介绍PHP应用中处理限流和API节流的最佳实践,下面就来和小编一起学习... 目录限流的重要性在 php 中实施限流的最佳实践使用集中式存储进行状态管理(如 Redis)采用滑动

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python