P1393 动态逆序对

    • 493通过
    • 1.9K提交
  • 题目提供者 litc
  • 评测方式 云端评测
  • 标签 二分答案 高性能
  • 难度 省选/NOI-
  • 时空限制 1000ms / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 体验新版界面

    最新讨论 显示

    推荐的相关题目 显示

    题目描述

    对于给定的一段正整数序列,我们定义它的逆序对的个数为序列中ai>aj且i<j的有序对(i,j)的个数。你需要计算出一个序列的逆序对组数及其删去其中的某个数的逆序对组数。

    输入输出格式

    输入格式:

    第一行,两个数n,m,表示序列中有n个数,要删去m个数

    第二行n个数,表示给定的序列。

    第三行m个数,第i个数di表示要删去原序列中的第di个数。

    输出格式:

    一行m+1个数。第一个数表示给定序列的逆序对组数,第i+1个数表示删去第di个数后序列的逆序对组数(删去的数不再恢复)

    输入输出样例

    输入样例#1: 复制
    6 3
    5 4 2 6 3 1
    2 1 4
    
    输出样例#1: 复制
    11 7 4 2

    说明

    对于20%的数据,n≤2500

    对于另30%的数据,m=0

    对于100%的数据,n≤40000,m≤n/2,且保证第二行n个数互不相同,第三行m个数互不相同。

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。