1 条题解

  • 0
    @ 2025-8-24 21:23:50

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Hiynyuan
    我唯一所知,即我无所知

    搬运于2025-08-24 21:23:49,当前版本为作者最后更新于2021-07-27 16:34:05,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    这是一道彻底的数学题


    题目化简

    有一个长度为 nn 的数列,第一个数为 00 ,每两位的差的绝对值为 11 ,和为 ss ,输出有多少种方案并输出 100100 种以内的所有方案.

    主要思路

    设每两位之间的差为 xix_i( 111-1 ) ,则:

    a1=0a_1=0

    a2=a1+x1=x1a_2=a_1+x_1=x_1

    a3=a2+x2=x1+x2a_3=a_2+x_2=x_1+x_2

    a4=a3+x3=x1+x2+x3a_4=a_3+x_3=x_1+x_2+x_3

    以此类推,可得:

    ai=x1+x2+...+xi-1a_i=x_1+x_2+...+x_\text{i-1}

    则:

    $s=a_1+a_2+...+a_n=(n-1)x_1+(n-2)x_2+...+x_\text{n-1}$

    所以,从这开始就分成了两种方法。

    法一

    模拟每一个 xx ,如果结果等于 ss 就得到一种方案.

    法二

    假设所有的 xx 都为 11 可得:s=n(n1)2s=\frac{n(n-1)}{2}.

    设为 1-1xxyy个,

    继续化简可得: s=n(n1)22ys=\frac{n(n-1)}{2}-2y.

    求出 yy 之后,问题就变成了从 n1n-111 之中,和为 yy 的有多少种可能,每一种可能都对应着原题的一种方案.

    • 1

    信息

    ID
    327
    时间
    1000ms
    内存
    128MiB
    难度
    4
    标签
    递交数
    0
    已通过
    0
    上传者