洛谷P1118 数字三角形

该博客介绍了一个从数字和反推原始排列的问题,涉及杨辉三角和搜索算法。通过分析数字排列与杨辉三角的关系,可以找到从给定的最终数字和反推出初始排列的方法。博主提供了问题解析及代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

有这么一个游戏:写出一个1至N的排列ai
​ ,然后每次将相邻两个数相加,构成新的序列,再对新序列进行这样的操作,显然每次构成的序列都比上一次的序列长度少1,直到只剩下一个数字位置。下面是一个例子:
在这里插入图片描述
最后得到16这样一个数字。

现在想要倒着玩这样一个游戏,如果知道N,知道最后得到的数字的大小sum
sum,请你求出最初序列ai,为1至N的一个排列。若答案有多种可能,则输出字典序最小的那一个。

题目解析

这道题其实就是杨辉三角加搜索。下面来分析一下:
假设n为1,全排列只有1个,为1
在这里插入图片描述

假设n为2,选择1-2的一个全排列,为2,1。
在这里插入图片描述
假设现在n为3,选择1-3其中一个全排列,为2,3,1。
在这里插入图片描述
假设现在n为4,我们随便选择1-4的其中一个全排列,为1,2,3,4。
在这里插入图片描述
到这个我们就可以发现规律了,随着

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值