news 2026/11/1 14:39:33

UVa 529 Addition Chains

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
UVa 529 Addition Chains

题目描述

题目要求构造一个加法链,即一个以111开头、以nnn结尾的严格递增序列,且序列中每个元素都是它前面某两个元素之和(这两个元素可以是同一个)。要求链的长度最短。若有多个解,输出任意一个。

输入格式

输入包含多个测试用例,每行一个整数nnn(1≤n≤100001 \le n \le 100001≤n≤10000)。输入以n=0n = 0n=0结束。

输出格式

对于每个nnn,输出一行,包含加法链中的数字,用空格分隔。

样例

输入

5 7 12 15 77 0

输出

1 2 4 5 1 2 4 6 7 1 2 4 8 12 1 2 4 5 10 15 1 2 4 8 9 17 34 68 77

题目分析

本题的核心是使用迭代加深搜索(IDDFS\texttt{IDDFS}IDDFS)寻找最短加法链。

搜索策略

  • 从111开始,依次确定下一个数。
  • 每个新数必须是已有某两个数之和(可以是同一个)。
  • 使用深度限制,从可能的最小深度开始递增,直到找到解。
  • 剪枝:若当前深度下,剩余步数内最大可能达到的值仍小于nnn,则剪枝(即使用当前最大值每次翻倍,最大可能值 = 当前值×2剩余步数\times 2^{剩余步数}×2剩余步数)。

复杂度分析

n≤10000n \le 10000n≤10000,深度不超过202020,搜索空间可控。

代码实现

// Addition Chains// UVa ID: 529// Verdict: Accepted// Submission Date: 2016-12-21// UVa Run Time: 0.000s//// 版权所有(C)2016,邱秋。metaphysis # yeah dot net#include<bits/stdc++.h>usingnamespacestd;intpart[40]={1},bestPart[40]={1},maxDepth,n;voiddfs(intdepth){if(depth<maxDepth){for(inti=depth-1;i>=0;i--){intnext=part[depth-1]+part[i];if(next<=n){part[depth]=next;if(part[depth]==n&&maxDepth>depth){memcpy(bestPart,part,sizeof(part));maxDepth=depth;}for(intj=depth+1;j<=maxDepth;j++)next*=2;if(next>=n)dfs(depth+1);}}}}intmain(intargc,char*argv[]){cin.tie(0);cout.tie(0);ios::sync_with_stdio(false);while(cin>>n,n>0){if(n==1)maxDepth=0;elsemaxDepth=20;dfs(1);for(inti=0;i<=maxDepth;i++){if(i>0)cout<<' ';cout<<bestPart[i];}cout<<'\n';}return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/1 14:39:45

NSK精密级超大导程滚珠丝杠技术解析

型号 PSS2040N1D1085 属于 NSK 的紧凑型 FA 系列&#xff08;PSS 型&#xff09;精密级标准滚珠丝杠&#xff08;轴端加工完成品&#xff09;。与您之前查询的 2020&#xff08;导程 20 mm&#xff09;规格相比&#xff0c;该型号最大的突破在于采用了 40 mm 的超大导程&#x…

作者头像 李华
网站建设 2026/10/28 8:22:55

用 WorkBuddy 完成第一个全栈项目:从想法到上线的完整实践

用 WorkBuddy 完成第一个全栈项目:从想法到上线的完整实践 作者:Leo | 日期:2026-06-18 | 标签:WorkBuddy, AI编程, 全栈开发, 实战教程 写在前面 这是我第一次使用 WorkBuddy(CodeBuddy) 完成一个完整项目的全过程记录。 从一句模糊的想法,到最终可运行的应用,AI 全…

作者头像 李华
网站建设 2026/10/28 11:04:51

Mermaid Live Editor:重塑技术文档图表创作体验的专业工具

Mermaid Live Editor&#xff1a;重塑技术文档图表创作体验的专业工具 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-ed…

作者头像 李华
网站建设 2026/10/28 10:36:32

总线状态分析器(BSA)原理与MMDS11实战:嵌入式底层调试与性能剖析

1. 总线状态分析器&#xff1a;嵌入式调试的“X光机”在嵌入式系统开发这个行当里&#xff0c;调试手段的深度直接决定了你定位问题的效率。当程序跑飞、时序错乱、或者性能不达标时&#xff0c;光靠软件层面的单步执行和断点&#xff0c;常常有种隔靴搔痒的感觉。你看到的只是…

作者头像 李华
网站建设 2026/10/31 19:32:01

基础知识:“十五五“规划(2026-2030)深度分析与产业机会

"十五五"规划&#xff08;2026-2030&#xff09;深度分析与产业机会全景当前时间&#xff1a;2026年6月&#xff0c;"十五五"规划纲要已于2026年3月十四届全国人大四次会议通过&#xff0c;正处于全面实施初期。以下基于已公布的规划纲要及权威解读&#x…

作者头像 李华
网站建设 2026/10/31 9:00:34

AI电商视觉工具横评:从主图到短视频,电商卖家怎么选?(2026最新版)

2026年&#xff0c;AI电商工具已经全面爆发。商品主图、场景图、主图视频、3D展示、数字人直播……曾经需要一个团队才能完成的视觉工作&#xff0c;现在一个人几款AI工具就能搞定。但问题也随之而来——工具太多&#xff0c;不知道怎么选。有的工具擅长出图但不会做视频&#…

作者头像 李华