![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析与设计
Walker_CodeGou
不入门的扫地僧
展开
-
【算法分析与设计】字典序问题
该字母表产生的升序字符串是指字符串中字母按照从左到右出现的次序与字母在字母表中出现的次序相同,且每个字符最多出现 1 次。例如,a,b,ab,bc,xyz 等字符串都是升序字符串。现在对字母表 A 产生的所有长度不超过 6 的升序字符串按照字典序排列并编码如下。每个字符串的长度(所含小写字符的个数)不超过6个。对于给定的长度不超过 6 的升序字符串,编程计算出它在上述字典中的编码。对于任意长度不超过 6 的升序字符串,迅速计算出它在上述字典中的编码。输出共有 k 行,每行的整数对应于一个字符串的编码。原创 2023-12-29 20:46:06 · 350 阅读 · 1 评论 -
【算法分析与设计】双胞胎探宝
输入数据第1行有1个正整数n,表示方形区域F有n * n个方格。接下来每行有3个整数,前2个表示方格位置,第3个数为该位置宝藏价值。双胞胎均从F的A点出发,向下或向右行走,直到B点,在走过的路上,收集方格中的宝藏。试找出兄弟二人可以获得的宝藏总价的值最大。现有一对双胞胎,在一个有n * n个方格的方形宝藏区域F中探宝。(i,j)方格中宝物的价值为v(i,j),如下图所示。原创 2023-12-29 21:10:52 · 410 阅读 · 1 评论 -
【算法分析与设计】 双胞胎做题
研究一个实例: (a1,a2,a3,a4,a5,a6)=(2,5,7,10,5,2);由于兄弟二人对知识掌握的程度不同,很可能对于某些 i,有 ai ≥ bi ,而对于某些 j,j≠i,有 aj < bj。接下来的 2 行中,每行有 n 个正整数,ai和bi。设计一个算法,使得二人解掉所有题目所用的时间最短(从任何一人开始做题到最后一人解掉最后一道题目的总时间)。已知哥哥做题目i需要时间ai,弟弟做题目i需要时间bi。原创 2023-12-29 21:09:45 · 339 阅读 · 1 评论 -
【算法分析与设计】少打比赛多训练
问题描述:作为一个比赛队伍总教练的你,请解决下面的问题:你作为总教练的聘期为n天。在这n天里,一共有n个比赛可以参加。队员们都愿意参加比赛,而不愿意训练,所以希望有比赛就参加。如果在某一天有多场比赛同时开始,作为主教练的你可任选其中一场比赛参加(前提是队伍没有正在参加的比赛)。比赛从第s天开始,持续t天,则该比赛在第 s+t-1 天结束。作为总教练的你,应该如何选择比赛,才能既使得队员满意(有比赛就参加),又能尽可能延长训练的时间,减少参加比赛的时间。编程任务:对于给定的比赛时间表,编程计原创 2023-12-29 21:07:33 · 369 阅读 · 1 评论 -
【算法分析与设计】 整数因子分解问题
大于 1 的正整数 n 可以分解为:n=x1x2…例如,当 n=12 时,共有 8 种不同的分解式: 12=12;输入数据第一行有 1 个正整数 n (1≤n≤2000000000)。对于给定的正整数 n,编程计算 n 共有多少种不同的分解式。输出不同的分解式数。原创 2023-12-29 21:06:01 · 532 阅读 · 1 评论 -
【算法分析与设计】双色 Hanoi 塔问题
开始时,在塔座 A 上有一叠共 n 个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为 1,2,……,n,奇数号圆盘着蓝色,偶数号圆盘着红色,如图所示。现要求将塔座 A 上的这一叠圆盘移到塔座 B 上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则: 规则(1):每次只能移动 1 个圆盘;规则(4):在满足移动规则(1)-(3)的前提下,可将圆盘移至 A,B,C 中任一塔座上。试设计一个算法,用最少的移动次数将塔座 A 上的 n 个圆盘移到塔座 B 上,并仍按同样顺序叠置。原创 2023-12-29 21:04:51 · 429 阅读 · 1 评论 -
【算法分析与设计】双色 Hanoi 塔问题
开始时,在塔座 A 上有一叠共 n 个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为 1,2,……,n,奇数号圆盘着蓝色,偶数号圆盘着红色,如图所示。现要求将塔座 A 上的这一叠圆盘移到塔座 B 上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则: 规则(1):每次只能移动 1 个圆盘;规则(4):在满足移动规则(1)-(3)的前提下,可将圆盘移至 A,B,C 中任一塔座上。试设计一个算法,用最少的移动次数将塔座 A 上的 n 个圆盘移到塔座 B 上,并仍按同样顺序叠置。原创 2023-12-29 21:04:04 · 414 阅读 · 1 评论 -
【算法分析与设计】半数集问题
给定一个自然数 n,由 n 开始可以依次产生半数集 set(n)中的数如下。(2) 在 n 的左边加上一个自然数,但该自然数不能超过最近添加的数的一半;(3) 按此规则进行处理,直到不能再添加自然数为止。例如,set(6)={6,16,26,126,36,136}。半数集 set(6)中有 6 个元素。注意半数集是多重集。(0原创 2023-12-29 21:03:00 · 428 阅读 · 1 评论 -
【算法分析与设计】棋盘问题
在 n×n 格的棋盘上放置彼此不受攻击的 n 个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 后问题等价于在 n×n 格的棋盘上放置 n 个皇后,任何 2 个皇后不放在同一行或同一列或同一斜线上。设计一个解 n 后问题的队列式分支限界法,计算在 n * n 个方格上放置彼此不受攻击的 n 个皇后的一个放置方案。输入第一行有 1 个正整数 n。将计算出的彼此不受攻击的 n 个皇后的第一个放置方案输出。仅供学习,错误指正,搬运注明出处!原创 2023-12-30 01:00:00 · 362 阅读 · 0 评论 -
【算法分析与设计】回溯算法的应用
现有 n 个箱子,每个箱子里装了 xi 个苹果,这些 xi 组成了一个集合S = { x1 , x2 ,…, xn },其中的 xi 均为正整数,c 是一个正整数。输入数据第 1 行有 2 个正整数 n 和 c,n 表示 S 的大小,c 是子集和的目标值。接下来的 1 行中,有 n 个正整数,表示集合 S 中的元素。, xn }和正整数 c,编程计算 S 的一个子集 S1,使得 ∑x = c (x ∈ S1)。注意,有解的时候输出的各元素按原集合中的先后顺序输出,每个元素后有一个空格。原创 2023-12-30 05:15:00 · 297 阅读 · 0 评论 -
【算法分析与设计】平均等待时间
设有 n 个顾客同时等待一项服务。顾客i 需要的服务时间为ti ,1 ≤ i ≤ n。应如何安排 n 个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是 n 个顾客等待服务时间的总和除以 n。输入数据第一行有 2 个正整数 n 和 s,表示有 n 个顾客且有 s 处可以提供顾客需要的服务。接下来的 1 行中,有 n 个正整数,表示 n 个顾客需要的服务时间。对于给定的 n 个顾客需要的服务时间和 s 的值,编程计算最优服务次序。将计算出的最小平均等待时间输出。输出时请用cout输出!原创 2023-12-29 20:54:25 · 416 阅读 · 1 评论 -
【算法分析与设计】摸金校尉
传说曹操手下有一批摸金校尉,每个摸金校尉可以收集长度为k的一段距离内的宝藏。比如,如果一个摸金校尉从坐标为x的位置开始收集,他可以收集[x,x+n]范围内的所有宝藏。第一行为n和k的值,n <= 10000。接下来一行是n个整数,代表n个宝藏的坐标ai。在一条直线上,有n个宝藏,每个宝藏的坐标是ai。其中ai为整数,n <= 10000。现给出n个宝藏的坐标,问至少需要多少摸金校尉才可以收集到所有的宝藏?输出所需要的最少的摸金校尉的个数。原创 2023-12-29 20:53:04 · 698 阅读 · 1 评论 -
【算法分析与设计】数字游戏
给定一串十进制数字,共n位,要求将这些数字分成m段,由此得到了m个整数。如何划分使得m个整数的乘积最大?第 1 行中包含n和m。第2行是n位十进制整数。仅供学习,搬运注明出处!原创 2023-12-29 20:51:48 · 392 阅读 · 1 评论 -
【算法分析与设计】金字塔寻宝
现有一个二维的金字塔,由若干方格组成,每个方格里的数字表明该方格的宝物价值。你可以选择一条从塔顶到塔底的路线(每层只能走一个方格,该方格必须为上一层走过方格的相邻方格),并收集路线上所有方格的宝物,如何选择路线,使得最终收集到的宝物价值的和最大?第一行为金字塔的层数n(1≤n≤100)。第二行开始,每行为金字塔每层宝物的价值,0≤价值≤99。输入你可以收集到的最大价值。原创 2023-12-29 20:50:05 · 430 阅读 · 1 评论