zoukankan      html  css  js  c++  java
  • AGC044C

    这个题一年前就该补了………………


    首先转化为下标变换,这样本来是值的变换,最终就是个逆。(当然你要觉得值变换好理解我也不拦你)

    然后 (2leftrightarrow1) 这玩意可以建个 012Trie 在上面打懒标记,就交换了 (son_1,son_2) 之后下传。这样就不用担心什么了。

    然后考虑加法怎么在 Trie 上体现。由于加法的进位是从低位往高位的,我们考虑把 Trie 倒着建,低位在上面,这样显然是不影响操作 S 的。反正给我自己想我是想不到,被思维定势了,一般 Trie 正着建是因为要按位贪心。

    那么 R 操作就是 (son_0) 整体迁移至 (son_1)(son_1 o son_2),而 (son_2) 的变换不只是 ( o son_0) 这么简单,它内部还要进位,于是往下走做类似的事情即可,复杂度 (mathrm O(n))

    最终复杂度 (mathrm O(qn))code

    珍爱生命,远离抄袭!
  • 相关阅读:
    集合类提供的的方法
    集合相关常识
    day12练习题
    Django(重点)
    cookie和session
    admin的配置
    Django安装和配置环境变量
    django ORM创建数据库方法
    前端学习之jquery
    数据库基础
  • 原文地址:https://www.cnblogs.com/ycx-akioi/p/solution-agc044c.html
Copyright © 2011-2022 走看看