博客
关于我
一维差分小总结
阅读量:369 次
发布时间:2019-03-04

本文共 1480 字,大约阅读时间需要 4 分钟。

????????????????????????????????????????????????????????????????????

????

  • ????????????????????????????????????(l, r)???????????1???l???1???r+1?
  • ????????????????????????????????????????????
  • ??????????????????????????????????????????????????
  • ???????????????????????????????????
  • ????

    def main():    import sys    input = sys.stdin.read    data = input().split()    idx = 0    n = int(data[idx])    idx += 1    m = int(data[idx])    idx += 1        queries = []    for _ in range(m):        l = int(data[idx])        idx += 1        r = int(data[idx])        idx += 1        queries.append((l, r))        diff = [0] * (n + 2)    for l, r in queries:        diff[l] += 1        if r + 1 <= n:            diff[r + 1] -= 1        freq = [0] * (n + 1)    for i in range(1, n + 1):        freq[i] = diff[i]        freq.sort(reverse=True)        a = [0] * (n + 1)    current = n    for i in range(1, n + 1):        if freq[i] == 0:            a[i] = 0        else:            a[i] = current            current -= 1        pre = [0] * (n + 1)    for i in range(1, n + 1):        pre[i] = pre[i - 1] + a[i]        total = 0    for l, r in queries:        total += pre[r] - pre[l - 1]        print(total)if __name__ == "__main__":    main()

    ????

  • ???????sys.stdin.read?????????????n?m?
  • ?????????????????????????
  • ?????????????????????????
  • ????????????????????????????????????
  • ????????????????????????
  • ???????????????????????
  • ?????????????????????????
  • ????????????????????????????????????????????

    转载地址:http://iryg.baihongyu.com/

    你可能感兴趣的文章
    NTP及Chrony时间同步服务设置
    查看>>
    NTP配置
    查看>>
    NUC1077 Humble Numbers【数学计算+打表】
    查看>>
    NuGet Gallery 开源项目快速入门指南
    查看>>
    NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
    查看>>
    nuget.org 无法加载源 https://api.nuget.org/v3/index.json 的服务索引
    查看>>
    Nuget~管理自己的包包
    查看>>
    NuGet学习笔记001---了解使用NuGet给net快速获取引用
    查看>>
    nullnullHuge Pages
    查看>>
    NullPointerException Cannot invoke setSkipOutputConversion(boolean) because functionToInvoke is null
    查看>>
    null可以转换成任意非基本类型(int/short/long/float/boolean/byte/double/char以外)
    查看>>
    Numix Core 开源项目教程
    查看>>
    numpy
    查看>>
    NumPy 或 Pandas:将数组类型保持为整数,同时具有 NaN 值
    查看>>
    numpy 或 scipy 有哪些可能的计算可以返回 NaN?
    查看>>
    numpy 数组 dtype 在 Windows 10 64 位机器中默认为 int32
    查看>>
    numpy 数组与矩阵的乘法理解
    查看>>
    NumPy 数组拼接方法-ChatGPT4o作答
    查看>>
    numpy 用法
    查看>>
    Numpy 科学计算库详解
    查看>>