#D0950. 月饼方案

    ID: 19998 传统题 1000ms 1024MiB 尝试: 31 已通过: 3 显示难度暂无评定 上传者: 标签>动态规划递推其他数学CSP-JT3二进制

月饼方案

月饼方案

题目描述

33DAI 有 6363 种月饼,编号从 00 到 6262,第 ii 种月饼的重量为 2i2^i。每种月饼都有无限个。

2i2^i 表示 ii 个 22 相乘。例如 20=12^0=1,21=22^1=2,22=2×2=42^2=2\times2=4,210=10242^{10}=1024。

注意:因为 x<227<262x< 2^{27}< 2^{62},编号较大的月饼不会用上,给出的 6363 种足够用。

33DAI 想要送给 Tom 重量之和恰好为 xx 的月饼,求有多少种方案。

两种方案不同,当且仅当存在某个编号 ii,使得两种方案中编号为 ii 的月饼个数不同。方案与选取月饼的先后顺序无关。

由于答案可能很大,请把答案对 2322^{32} 取余后输出。

输入格式

一行一个整数 xx。

输出格式

一行一个整数,表示方案数对 2322^{32} 取余的结果。

样例

3
2
4
4

样例说明

样例 1: x=3x=3,有两种方案:3=1+1+13=1+1+1(三个编号为 00 的月饼),3=2+13=2+1(一个编号为 11 的月饼和一个编号为 00 的月饼)。

样例 2: x=4x=4,有四种方案:4=1+1+1+14=1+1+1+1,4=2+1+14=2+1+1,4=2+24=2+2,4=44=4。

数据范围

对于全部数据,1≤x<2271\le x< 2^{27}(即 1≤x≤1342177271\le x\le 134217727)。

子任务 分值 限制
1 3030 1≤x≤261\le x\le 2^{6}
2 x<218x< 2^{18}
3 4040 1≤x<2271\le x< 2^{27}

每个子任务的计分方式为 min(取该子任务中所有测试点的最低分)。

子任务之间存在依赖:子任务 2 依赖子任务 1,子任务 3 依赖子任务 2。即只有通过了所依赖的子任务,该子任务才能得分。