Atcoder Grand Contest 020 E Encoding Subsets
Posted denverjin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Atcoder Grand Contest 020 E Encoding Subsets相关的知识,希望对你有一定的参考价值。
Atcoder Grand Contest 020 E
题意:给一个\(0-1\)字符串,如果其中有一段重复,就可以表示成\((\)这一块的表示\(\times\)出现次数\()\)。
问这个字符串的所有子集中有多少种表示方法。
思路:考虑\(dp(s)\)表示字符串\(s\)的答案。
那么我们得考虑第一个表示成的位置是什么。
①第一位就是表示的第一位,不参与循环。那么转移到\(dp(s.substr(1))\),并且如果这位是\(1\),那么乘上\(2\),因为这位可能是\(0\)。
②一个前缀是循环节。那么转移到这个循环节的答案乘上后面的那一段的答案。这个循环节是它循环的内容中所有段的\(and\),即按位与。
然后记得取模就好了。
以上是关于Atcoder Grand Contest 020 E Encoding Subsets的主要内容,如果未能解决你的问题,请参考以下文章
AtCoder Grand Contest 020 (AGC020) E - Encoding Subsets 动态规划
Atcoder Grand Contest 020 E Encoding Subsets
AtCoder Grand Contest 020 C - Median Sum