FOJ 1207 半数集问题

本文详细解析了FZU ACM竞赛中的问题1207,通过深入分析题目的关键点,如半数集的生成规则、重复元素的产生与排除,并提供了源代码实现,帮助读者理解并解决类似问题。

原题:

http://acm.fzu.edu.cn/problem.php?pid=1207

解题分析:

要注意的有三点:

1)  "从 N 开始依次产生半数集 ......". 要注意 " 依次 " 的表述 , 说明半数集中元素的产生是有先后顺序的 . 这对后面的排除重复元素很重要 .

2)  "在 N 的左边加上一个自然数 , 但该自然数不能超过最近添加数的一半 ." 这是构造解集的重要条件 , 引导我们使用递归方法解决此题 ..

3)  "半数集不是多重集 . 集合中已经有的元素不再添加到集合中 ". 配合 1), 就可以了解产生重复的原因 .


重复分析:  假设 N=50. 那么会出现如下情况 :

          50 -> 12 50

          50 -> 2 50 -> 1 2 50  (与之前产生的 1250 重复 , 重复一次 )

其实, 重复造成的问题不止如此 , 考虑下面的情况 :

50 -> 48 50

50 -> 8 50 -> 4 8 50 

4 8 50与已经产生的  48 50 重复 . 这不仅造成自身不能添加到半数集中 , 而且使得由 4 8 50 扩展形成的  2 4 8 50 和 1 2 4 8 50 都不会出现在半数集中 .

 
所以, 扣除重复元素的操作要注意两个问题 :

1)  产生重复的条件.
2)  应该扣除多少个元素.

产生重复的条件:  根据题意 , 0<N<201,  所以 , 0<N/2<=100. 第二次添加的数肯定是个两位数 . 也就是说 , 重复是由于一个两位数和两个一位数的冲突造成的 . 由添加数的规则可得 , 当添加的数为 i 时 , 若  i > 9 && ( (i / 10) <= (1 % 10) / 2).

应该扣除的个数:  由构造的顺序性可知 , 与一个两位数构造成的半数集元素重复的元素不能添加到半数集中 .  要扣除的个数就是由最左边的一位数能够产生的半数集数量 . 例如 ,

    50 -> 48 50

    50 -> 8 50 -> 4 8 50

要扣除的数量就是4 能够产生的半数集元素个数。

源码:(VC++)

下载方式:https://pan.quark.cn/s/a4b39357ea24 在纺织制造领域中,纱线的品质水平对最终制成品的整体质量具有决定性作用。 鉴于消费者对于产品规格和样式要求的不断变化,纺织制造工艺的执行过程日益呈现为一种更为复杂的操作体系,进而导致对纱线质量进行预测的任务变得更加困难。 在众多预测技术中,传统的预测手段在面对多变量间相互交织的复杂关系时,往往显得力不从心。 因此,智能计算技术在预测纱线质量的应用场景中逐渐占据核心地位,其中人工神经网络凭借其卓越的非线性映射特性以及自适应学习机制,成为了众多预测方法中的一种重要选择。 在智能计算技术的范畴内,粒子群优化算法(PSO)和反向传播神经网络(BP神经网络)是两种被广泛采用的技术方案。 粒子群优化算法是一种基于群体智能理念的优化技术,它通过模拟鸟类的群体觅食行为来寻求最优解,该算法因其操作简便、执行高效以及具备优秀的全局搜索性能,在函数优化、神经网络训练等多个领域得到了普遍应用。 反向传播神经网络则是一种由多层节点构成的前馈神经网络,它通过误差反向传播的机制来实现网络权重和阈值的动态调整,从而达成学习与预测的目标。 在实际操作层面,反向传播神经网络因其架构设计简洁、实现过程便捷,因此被广泛部署于各类预测和分类任务之中。 然而,该方法也存在一些固有的局限性,例如容易陷入局部最优状态、网络收敛过程缓慢等问题。 而粒子群优化算法在参与神经网络优化时,能够显著增强神经网络的全局搜索性能并提升收敛速度,有效规避神经网络陷入局部最优的困境。 将粒子群优化算法与反向传播神经网络相结合形成的PSO-BP神经网络,通过运用粒子群优化算法对反向传播神经网络的权值和阈值进行精细化调整,能够在预测纱线断裂强度方面,显著提升预测结果的...
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值