【发布时间】:2016-01-30 12:05:09
【问题描述】:
给定四个数字 NAA、NAB、NBA、NBB,每个数字都小于或等于 10^5。
需要查找只包含AB字符且包含的不同字符串的个数:
- “AA”的确切 NAA 出现;
- 正是“AB”的 NAB 出现;
- 正是 NBA 出现的“BA”;
- 正是“BB”的 NBB 出现。
我只知道蛮力解决方案。 您能否给我一些提示或建议如何更快地做到这一点?
【问题讨论】:
-
你在评论里说什么?请举例说明。
-
根据您掌握的信息,您可以确定“A”的连续运行次数,分别。 “B”。因此,您以 ABABA... 和 BABABA.. 作为起点,然后计算有多少种方法可以使序列膨胀。谷歌整数分区。永远记住,你不需要构建序列来计算它们;-)
标签: dynamic-programming combinatorics