luogu#P7145. [THUPC2021 初赛] 合法序列
[THUPC2021 初赛] 合法序列
题目描述
对于一个长度为 的 序列 ,我们将它的位从左到右、从零开始编号,记为 。
给定一个正整数 ,从 中取出某个长度为 的子段。将这个子段解释为一个左侧为高位、右侧为低位的 位二进制数,记为 ,则有 。
有 个长度为 的子段,如果对于其中的每一个子段,如上解释为二进制数 后, 的编号为 的位(即 )都是 ,则说 是合法的。保证 ,即 作为 的下标不会越界。
给定 ,求合法的 的数量。由于方案数可能较大,只需给出方案数模 的结果作为答案。
输入格式
输入有一行,包含两个用空格隔开的正整数 。
保证 ,。
输出格式
输出一行,包含一个非负整数,即合法方案数模 的结果。
4 2
2
提示
【样例解释 #1】
有两个满足要求的序列: 和 。
【题目来源】
来自 2021 清华大学学生程序设计竞赛暨高校邀请赛(THUPC2021)初赛。
题解等资源可在 https://github.com/THUSAAC/THUPC2021-pre 查看。