• 另一道不知道哪里来的容斥题


    题意:给出一个012序列,进行m次操作,每次选择一个区间并把它变成全0。
    要求序列上的2最终还是2,序列上的1最终变成0。

    考虑只有0和2怎么做。
    求出有多少种区间的选择方法数x。
    ans=x^m。
    带上1以后,有一个暴力的做法,直接容斥那些1最后没有变成0,然后把这些看成2来做。
    复杂度O(2^n)。
    有一个更优秀的做法,可以用dp去算这个容斥系数。
    dp[i][k],k那一维是存了有多少个可行区间,显然K<=n^2。
    每次转移的时候
    遇到0直接复制。
    遇到1决策是否把它变成2,转移的时候乘上-1。
    遇到2考虑上一个2在哪里。
    最后每一项直接m次方加起来即可。
    复杂度O(n^4)。

  • 相关阅读:
    NIO学习
    XML(二)
    IO和NIO
    Log4j
    异常处理机制
    XML
    数据交互
    分页实现的三种方式
    Idea破解
    数据库连接池
  • 原文地址:https://www.cnblogs.com/Creed-qwq/p/10343938.html
Copyright © 2020-2023  润新知