P1966 火柴排队
https://www.luogu.org/problem/show?pid=1966
求逆序对
用树状数组。
#include<iostream> #include<cstdio> #include<algorithm> #include<queue> #include<cstring> #include<cmath> using namespace std;//60fen const int N=100009; const long long P=99999997; struct node{ int x;//数值 int w;//原来位置 }A[N],B[N]; int n; bool cmp(node a,node b) { return a.x<=b.x; } int c[N],d[N]; int Add(int x) { int ans=0; for(int i=x;i<=n;i+=i&(-i)) c[i]=(c[i]+1)%P; for(int i=x;i>0;i-=i&(-i)) ans=(ans+c[i])%P; return ans; } int main() { // freopen("match.in","r",stdin); // freopen("match.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++) { scanf("%d",&A[i].x); A[i].w=i; } for(int i=1;i<=n;i++) { scanf("%d",&B[i].x); B[i].w=i; } sort(A+1,A+1+n,cmp); sort(B+1,B+1+n,cmp); for(int i=1;i<=n;i++) d[A[i].w]=B[i].w; long long ans=0; for(int i=1;i<=n;i++) { ans=(ans+i-Add(d[i]))%P; } cout<<ans; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App