[NOIP 2013]火柴排队 逆序对
来源:互联网 发布:ubuntu删除文件命令 编辑:程序博客网 时间:2024/05/17 04:26
代码
#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>#define MOD 99,999,997 using namespace std;int n,c[200000],index[200000];int Lowbit(int x){ return x&(-x);}void Update(int x){ while(x<=n){ c[x]++; x+=Lowbit(x); }}int Ask(int x){ int sum=0; while(x>0){ sum+=c[x]; x-=Lowbit(x); } return sum;}struct Holder{ int num,v;}a[200000],b[200000];int cmp(Holder x,Holder y) { return x.v<y.v;}int main() { cin>>n; for(int i=1;i<=n;i++){ scanf("%d",&a[i].v); a[i].num=i; } for(int i=1;i<=n;i++){ scanf("%d",&b[i].v); b[i].num=i; } sort(a+1,a+1+n,cmp); sort(b+1,b+1+n,cmp); for(int i=1;i<=n;i++){ index[a[i].num]=b[i].num; } int ans=0; for(int i=1;i<=n;i++){ Update(index[i]); ans=(ans+i-Ask(index[i]))%99999997; } cout<<ans<<endl;}
0 0
- [NOIP 2013]火柴排队 逆序对
- NOIP 2013 T2 火柴排队 ---->求逆序对
- NOIP 2013 火柴排队 排序不等式 逆序对
- NOIP 2013 火柴排队 (证明+乱搞之后的逆序对)
- 归并排序求逆序对 CODEVS 1688 && NOIP 2013 火柴排队
- [noip 2013]火柴排队(树状数组/线段树 求逆序对)
- Noip提高2013 Day1 T2 火柴排队 归并求逆序对
- NOIP 2013 火柴排队
- NOIP 2013 火柴排队
- NOIP 2013 火柴排队
- 【noip 2013】火柴排队
- NOIP-2013火柴排队
- NOIP 2013 火柴排队
- 【noip 2013】火柴排队
- Noip 2013 火柴排队
- NOIP2013 火柴排队 逆序对
- 【NOIP2013】火柴排队 线段树+逆序对
- 【NOIP2013提高组】火柴排队-逆序对
- 广播监听
- 把txt文件转换为tsv文件的python脚本
- POJ 3468 A Simple Problem with Integers(线段树 or 树状数组—区间求和,成段更新)
- Tsinsen 题目A1393. Palisection(回文树)
- KVC在定义Model类中的使用
- [NOIP 2013]火柴排队 逆序对
- 浅谈构造函数与析构函数的调用顺序
- 通过代码区分是否为推送启动应用
- “陆金所” 之移动应用体检报告
- 线程的sleep()和wait() 区别
- Linux进程组调度机制分析
- 使用CloneZilla备份/恢复操作系统的简明步骤
- Android下实现手机验证码
- [NOIP 2005]过河 DP+路径压缩