• UOJ270【清华集训2016】工厂【题答,自动机,构造】


    (10) 个 Task,要求构造一种"自动机"识别给定的一类字符串,(Sigma=[33,126]capN)

    Task 1

    用节点表示当前最后一个字符。

    Task 2

    kmp 自动机板子。

    Task 3

    比较 sb 的部分分,设 ( 表示 (1)) 表示 (-1),用节点表示前缀和。

    Task 5

    用节点表示当前(mod 3) 余数。

    Task 6/7

    注意到 Fibonacci 串有些好性质:把 (f[i])( exttt{ba}) 替换为 ( exttt b)( exttt b) 替换为 ( exttt a) 就得到 (f[i-1])

    这时候就要用到蛐蛐了:匹配到 ( exttt{ba}) 的时候吐一个 ( exttt b),匹配到 ( exttt{bb}) 的时候吐一个 ( exttt a),吃剩个 ( exttt a) 的时候 Accept,吃剩个 ( exttt b) 的时候吐一个 ( exttt a) 然后重新匹配。

    要将各个串分开来,所以要搞个分割符,不是 ( exttt{ab}) 就行,不妨设为 (0),在起点放一个吐 (0) 的蛐蛐然后在纸上画画即可。

    Task 10

    看上去很吓人,但这东西实际上仍然是一个括号匹配。

    (2 imes 101) 个点,(xpod{xin[1,101]}) 表示 ( exttt i)( exttt e)(x-1) 个,(x+101) 表示 ( exttt i)( exttt e)(x-1) 个,且后面多了个 ( exttt a)

    做不动了,下次一定。

  • 相关阅读:
    Rest API
    Spring webflux
    混合配置
    Profile
    Bean的作用域
    事件的监听与发布
    Condition
    完美解决 fatal: unable to access ‘https://github.com/.../.git‘: Could not resolve host: github.com
    virtualbox 给centos扩容方法
    Mac 安装mysqlclient报错 OSError: mysql_config not found
  • 原文地址:https://www.cnblogs.com/AThousandMoons/p/14931962.html
Copyright © 2020-2023  润新知