zoukankan      html  css  js  c++  java
  • bzoj 4628: [BeiJing2016]IP地址

    Description

    路由表中每一项对应了一个形如 1011101?????????????????????????的规则,会匹配指定的前缀为给定形式的 ip
    。 当有多个规则匹配时,前缀最长的生效。同一时刻不会有多个匹配的规则的前缀一样长。每一个时刻,会有一
    条规则被加入,或者之前被加入的某条规则会过期。给一系列 ip,问每一个 ip 在一个给定的时间区间内匹配到
    的生效规则变了几次?
    例如,有一系列事件:
    Add 110
    Add 11
    Del 110
    Del 11
    Add 110
    那么,IP 地址 11011101001001010101011101000010在这五个时刻之后匹配到
    的生效规则分别是:
    110(第一条),
    110(第一条),
    11(第二条),
    空,
    110(第三条)。
    其中,在第二个事件后到第五个事件后的这段过程中,一共变了3次。
     

    Input

    第一行两个整数 N 和 Q,表示时刻的个数与查询的个数。
    接下来 N 行,每行描述一个事件。事件的格式是
    Add s 表示新建一个规则,匹配前缀为 s 的所有 ip.
    Del s 表示把当前前缀 s 对应的规则删掉(过期)。保证之前有这样的一条规则还没被删。
    接下来 Q 行,每行一个 ip 与两个整数 a,b,表示查询 ip 在第 a 个事件(从 1 开始数)
    后到第 b 个事件后的这段时间里,这个 ip 匹配到的生效规则变化的次数。 ip 用01字符串来表示。
    1 ≤ N, Q ≤ 10^5,串长不超过32
     

    Output

    对每个查询,输出所求的变化次数.
     

    Sample Input

    5 1
    Add 110
    Add 11
    Del 110
    Del 11
    Add 110
    11011101001001010101011101000010 2 5

    Sample Output

    3
    solution
  • 相关阅读:
    Solution -「ARC 126F」Affine Sort
    Solution -「ABC 219H」Candles
    Solution -「LOCAL」二进制的世界
    Solution Set -「ABC 217」
    Java 封装
    Java 对象和类
    Java 继承
    牛客网MySQL在线编程
    Linux uniq命令
    Linux 单引号、双引号、反引号
  • 原文地址:https://www.cnblogs.com/A-LEAF/p/7289808.html
Copyright © 2011-2022 走看看