luogu#P11220. 【MX-S4-T4】「yyOI R2」youyou 的三进制数

【MX-S4-T4】「yyOI R2」youyou 的三进制数

题目背景

原题链接:https://oier.team/problems/88

题目描述

现在有 0n0 \sim nn+1n + 1 个数。 定义 (x)3(x)_{3} 表示十进制数 xx 的三进制形式。如果没有特别强调,那么这些数均为十进制形式。

youyou 想构造一个序列长度为 ppp1p \ge 1)的非负整数序列 aa。使之满足:

  • ai[0,n]a_i \in [0,n]
  • 不存在 i,ji,j1i<jp1 \le i <j \le p),使得 ai=aja_i = a_j
  • 对于任意 1i<n1 \le i < naia_iai+1a_{i+1} 至少满足以下四个条件中的一个:
    1. (ai)3(a_i)_3 去掉最后一位,恰好等于 (ai+1)3(a_{i+1})_3(若只有一位,则去掉后的数字为 00)。
    2. (ai)3(a_i)_3 末尾添上某一位 t(0t2)t(0 \le t \le 2),恰好等于 (ai+1)3(a_{i+1})_3(若 ai=0a_i = 0,则添加后舍去前置 00)。
    3. aiwa_i \le w(ai)3(a_i)_3 的末尾不是 00,且将末尾的一位数字移到开头与 (ai+1)3(a_{i + 1})_3 相等。
    4. (ai)3(a_i)_3 长度 2\ge 2,且 (ai)3(a_i)_3 次高位非零时,将 (ai)3(a_i)_3 开头的一位数字移到末尾,形成的数的十进制值 w\le w,且恰好等于 (ai+1)3(a_{i+1})_3

这样的序列 aa 被称为“完美的”。

youyou 认为,如果十进制三元组 (x,y,z)(x,y,z) 是好的,必须满足以下条件:

  • 0x,y,zn0 \le x,y,z \le nxyx \neq y
  • 存在至少一个”完美的“序列 bb,使得十进制下有 b1=xb_1=xbs=yb_s = y。其中 ss 为序列长度。
  • 存在至少一个”完美的”序列 cc,使得十进制下有 c1=zc_1=z。同时,对于上述任意的 bb,均有恰好一对 (i,j)(i, j),满足 1ib1 \le i \le |b|1jc1 \le j \le |c|,使得 bi=cjb_i = c_j

对于每一个 0zn0 \le z \le n,求能构成“好的”三元组 (x,y,z)(x,y,z) 的有序对 (x,y)(x,y) 的个数。

输入格式

仅一行,为一个正整数 nn 和一个非负整数 ww,其含义在题目描述中给出。

输出格式

n+1n + 1 行,其中第 i+1i + 1 行一个数表示当 z=iz = i 时,能构成“好的”三元组 (x,y,z)(x,y,z) 的有序对 (x,y)(x,y) 的个数。

4 3
20
20
20
20
20

提示

【样例解释 #1】

一共有 55 个数,用三进制表示分别为 0,1,2,10,110,1,2,10,11

z=0,1,2,3,4z = 0,1,2,3,4 时,全部 (x,y)(xy)(x,y)(x \neq y) 数对均满足题意。

下面给出三元组 (2,3,1)(2,3,1) 是“好的”的证明。

x=2,y=3,z=1x=2,y=3,z=1 时,序列 bb 可以为 {2,0,1,3}\{2,0,1,3\}

其中 b1,b2b_1,b_2 满足条件 11b2,b3b_2,b_3 满足条件 22b3,b4b_3,b_4 满足条件 22

可以证明只有这一个序列 bb 满足题意。因此,存在 c={1}c = \{1\},使得 BC={1}B \cap C = \{1\}。所以 (2,3,1)(2,3,1) 是“好的”三元组。

【样例 #2】

见附件中的 ternary/ternary2.internary/ternary2.ans

该组样例满足测试点 464\sim 6 的约束条件。

【样例 #3】

见附件中的 ternary/ternary3.internary/ternary3.ans

该组样例满足测试点 7107\sim 10 的约束条件。

【样例 #4】

见附件中的 ternary/ternary4.internary/ternary4.ans

该组样例满足测试点 131513\sim 15 的约束条件。

【样例 #5】

见附件中的 ternary/ternary5.internary/ternary5.ans

该组样例满足测试点 202520\sim 25 的约束条件。

【数据范围】

本题共 2525 个测试点,每个 44 分。

测试点编号 nn ww 特殊性质
131 \sim 3 18\le 18
464 \sim 6 242\le 242
7107 \sim 10 6560\le 6560 6560\le6560
111211\sim12 105\le 10^5 105\le 10^5
131513\sim15 3×105\le 3 \times 10^5
161716\sim 17 =0=0
181918\sim 19 =n=n
202520\sim25 3×105\le 3 \times 10^5

特殊性质:w104w \ge 10^4

对于全部数据,保证:1n3×1051\le n \le 3 \times 10^50wn0 \le w \le n