算法设计与分析
jingling555
永远不要停下学习的脚步
展开
-
算法设计与分析 | 快速排序
通过一组排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据小,然后再按此方法对这两部分数据进行快速排序,整个排序过程可以递归进行,以此使所有数据变成有序序列。在算法设计中,我们引入分而治之的策略,称为分治算法,其本质就是将一个大规模的问题分解为若干个规模较小的相同子问题,分而治之。编程序,读入n个整数(n原创 2024-01-06 11:47:36 · 676 阅读 · 0 评论 -
算法设计与分析 | 动态规划(最长公共子序列)
英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于1000.每组测试数据输出一个整数,表示最长公共子序列长度。第一行给出一个整数N(0原创 2024-01-06 10:49:40 · 496 阅读 · 0 评论 -
算法分析与设计 | 搜索(整数因子分解)
该题estimate()方法是用来判断是否该数还有因子,search()方法来进行记录因子,进行count++,最后在main函数中输出count要进行+1,是因为它本身的数字就是它的因子(比如6的整数因子,它自身6也是一种情况)。大于1的正整数 n 都可以分解为 n = x1 * x2 * ... * xm。对于给定正整数n,计算n共有多少种不同的分解式。一行一个正整数n (1原创 2024-01-05 11:29:34 · 417 阅读 · 0 评论 -
算法分析与设计 | 贪心(今年暑假不AC)
作为球迷,一定想看尽量多的完整的比赛,当然,作为新时代的好青年,你一定还会看一些其它的节目,比如新闻联播(永远不要忘记关心国家大事)、非常6+7、超级女生,以及王小丫的《开心辞典》等等,假设你已经知道了所有你喜欢看的电视节目的转播时间表,你会合理安排吗?输入数据包含多个测试实例,每个测试实例的第一行只有一个整数n(n原创 2024-01-05 10:58:48 · 453 阅读 · 0 评论 -
算法设计与分析 | 一般背包问题
因此,在考虑放入物品时,应当选择所有(剩余)物品中价值比(*单位重量的价值)最高的一个放入,那么就可以使用sort()方法进行排序,a里面的avg就是降序的,然后考虑背包(剩余)容量,选择放入物品的多少部分。某天KID利用飞行器飞到了一个金银岛上,上面有许多珍贵的金属,KID虽然更喜欢各种宝石的艺术品,可是也不拒绝这样珍贵的金属。注意到金属是可以被任意分割的,并且金属的价值和其重量成正比。分别为第一种,第二种,...,第s种金属的总重量和总价值。,同时每个种类的金属总的价值也不同,分别为。原创 2024-01-04 12:00:20 · 532 阅读 · 0 评论 -
算法设计与分析 | 删数问题
上面这个代码是来解决:如果前面的数字都比后面一位的数字都要小的情况下,然后要删除后面的数字,就可以获得最小数。删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符。若输出的数首位是0,无须理会,0也直接输出即可。给定n位正整数a,去掉其中任意k个数字后,剩下的数字按原次序排列成一个新的正整数。可输入多组测试数据,每组测试数据分两行,每行一个数,数的含义如下。n (1原创 2024-01-04 11:07:18 · 411 阅读 · 0 评论 -
算法设计与分析 | N皇后问题
上,如果是则返回0,反之返回1。这里定义逻辑序号从1开始,使用两个while来实现回溯,当Column_Num[index] 里面的index==n的时候,则判断输出Column_Num[n]。会下国际象棋的人都很清楚:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8 * 8个方格),使它们谁也不能被吃掉!每种方案顺序输出皇后所在的列号,相邻两数之间用空格隔开。N皇后问题使用回溯法进行解决,规则是:在 n × n 格的棋盘上放置 n 个皇后,任何 2 个皇后不放在。原创 2023-12-28 15:31:51 · 574 阅读 · 0 评论 -
算法设计与分析 | 矩阵连乘
矩阵乘法满足结合律,A*B*C可以表示成(A*B)*C或者是A*(B*C),两者的运算量却不同。例如当A=2*3 B=3*4 C=4*5时,(A*B)*C=64而A*(B*C)=90。一个n*m矩阵由n行m列共n*m个数排列而成。一个N*M的矩阵乘以一个M*P的矩阵等于一个N*P的矩阵,运算量为nmp。`memset`函数将`s`指向的内存区域的前`n`个字节用`c`指定的值进行填充。- `c`:要设置的字符值(实际上是将其转换为对应的ASCII码或字节值)。- `s`:指向要填充的内存区域的指针。原创 2023-12-28 14:52:35 · 473 阅读 · 1 评论 -
算法设计与分析 | 最大字序列和(动态规划)
所以可以使用累加的值m来判断是否要丢弃前面的字符串,如果m此刻为负数,那么丢弃前面的字串(因为负数加入只会让子序列和变小),m等于a[i]重新累加;每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个整数I(-100=原创 2023-11-19 10:39:52 · 159 阅读 · 0 评论 -
算法设计与分析 | 众数问题(c语言)
所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数。例如:S={1,2,2,2,3,5},则多重集S的众数是2,其重数为3。该题可以使用一个“巧”方法解决,可以用数组值记录对应数字出现的次数(即重数),然后用数组下标值记录输入的数字,到时候输出结果时即可输出重数最大的(也就是数组值里面最大的),那么该重数对应的下标即是众数。现在你的任务是:对于给定的由m个自然数组成的多重集S,计算出S的众数及其重数。原创 2023-11-19 10:23:21 · 855 阅读 · 0 评论 -
算法设计与分析 | 矩阵相乘
矩阵相乘的原理就是a数组的行乘以b数组的列,然后根据这个原理设计算法,使用3个for循环即可实现。第n+2行是2个整数m和k(1原创 2023-11-18 16:20:27 · 184 阅读 · 0 评论 -
算法设计与分析 | 分治棋盘
在一个2^k * 2^k个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。注意:这里的样例输入的特殊点坐标(2,2)是以1为起始坐标的,所以得在main函数里面调用ChessBoard(0,0,x-1,y-1,bs),所以就-1。否则填充右上子棋盘的左下角,将左下角看做特殊方块,然后递归填充右上子棋盘。第二行为特殊点的坐标x,y。原创 2023-11-18 15:56:52 · 267 阅读 · 1 评论 -
算法设计与分析 | 输油管道
如果给定n口油井的位置,即它们的x 坐标(东西向)和y 坐标(南北向),应如何确定主管道的最优位置,即使各油井到主管道之间的输油管道长度总和最小的位置?如果是三个井,则管道穿过最中间的一个点。归纳一下即为,管道的纵坐标应该是所有油井的纵坐标的中位数。1.问题实际上可以转化成一维问题,即油井到管道的距离只喝纵坐标有关,故可以将对象抽象到一条y方向的数轴上面。接下来n行是油井的位置,每行2个整数x和y,-10000≤x,y≤10000。所以可以先对纵坐标进行升序排序,然后再求各个油井到“中位数”油井的距离。原创 2023-11-09 14:44:09 · 322 阅读 · 0 评论 -
算法设计与分析 | 循环赛
设有n=2k个球队参加循环赛,要求设计一个满足以下要求比赛日程表:(1) 每支球队必须与其他n-1支球队各赛一次;(2) 每支球队一天只能参赛一次;(3) 循环赛在n-1天内结束。输入一个整数k(0原创 2023-11-09 14:19:26 · 271 阅读 · 0 评论 -
算法分析与设计 | 递归(数的计数)
要求找出具有下列性质数的个数(包括输入的自然数n):先输入一个自然数n( n原创 2023-11-09 13:57:56 · 207 阅读 · 0 评论 -
算法与设计分析 | 全排列问题
题目给定一个由不同的小写字母组成的字符串,输出这个字符串的全排列数量。我们假设对于小写字母有'a' < 'b' < ... < 'y' < 'z'。原创 2023-11-08 16:28:48 · 149 阅读 · 0 评论 -
算法与设计分析 | 汉诺塔问题
题目:输入汉诺塔问题中的盘子个数n,输出将n个盘子从A移动到C的方法。原创 2023-11-08 09:43:50 · 204 阅读 · 0 评论 -
算法设计与分析 | 最多约数
正整数x的约数是能整除x的正整数。正整数x 的约数个数记为div(x)。例如,1,2,5,10 都是正整数10 的约数,且div(10)=4。设a 和b 是2 个正整数,a≤b,找出a和b之间约数个数最多的数x。原创 2023-09-07 20:13:31 · 567 阅读 · 0 评论 -
算法设计与分析 | 页码统计
题目:一本书的页码从自然数1开始顺序编码直到自然数n。书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0。例如第6页用6表示而不是06或006。数字统计问题要求对给定书的总页码,计算出书的全部页码中分别用到多少次数字0,1,2,3,.....9。原创 2023-09-07 20:04:57 · 327 阅读 · 0 评论