![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法分析
六月飞冷雪
一个互联网小菜鸡
展开
-
11077 最长公共子字符串(优先做)
Description求两个输入序列的最长的公共子字符串的长度。子字符串中的所有字符在源字符串中必须相邻。如字符串:21232523311324和字符串312123223445,他们的最长公共子字符串为21232,长度为5。输入格式两行,第一行为第一个字符串X,第二行为第二个字符串Y,字符串不含空格并以回车标示结束。X和Y的串长都不超过10000。输出格式两行,第一行为最长的公共子字符串的长度,第二行输出一个最长的公共子字符串。说明:(1)若最长的公共子字符串有多个,请输出在源字符串X中靠原创 2020-12-17 21:33:24 · 651 阅读 · 0 评论 -
17082 两个有序数序列中找第k小(优先做)
文章目录Description输入格式输出格式输入样例输出样例提示代码实现Description已知两个已经排好序(非减序)的序列X和Y,其中X的长度为m,Y长度为n,现在请你用分治算法,找出X和Y的第k小的数,算法时间复杂度为O(max{logm, logn})。此题请勿采用将序列X和Y合并找第k小的O(m+n)的一般方法,要充分利用X和Y已经排好序的这一特性。输入格式第一行有三个数,分别是长度m、长度n和k,中间空格相连(1<=m,n<=100000; 1<=k<=原创 2020-12-03 09:04:37 · 896 阅读 · 0 评论 -
9718 整数因子分解(优先做)
9718 整数因子分解(优先做)Description输入格式输出格式输入样例输出样例时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题 语言: G++;GCC;VCDescription大于1的正整数 n 都可以分解为 n = x1 * x2 * … * xm, 每个xi为大于1的因子,即1<xi<=n 。例如:当n=12时,共有8种不同的分解式:12 = 1212 = 6212 = 4312 = 3412 = 32212 =原创 2020-11-22 16:26:18 · 355 阅读 · 0 评论 -
11081 邮局选址
11081邮局选址时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题语言: G++;GCC;VCDescription道路东西走向和南北走向,将街区划分为格状,x坐标表示东西向,y坐标表示南北向,街区中任意两点(x1,y1)和(x2,y2)之间距离用|x1-x2|+|y1-y2|度量。现有n个居民点随机分布在不同街区,已知所有居民点位置(x,y)坐标,在这片区域中选一个邮局的最佳建设位置,使得n个居民点到邮局的距离总和最小。...原创 2020-11-22 16:00:53 · 294 阅读 · 0 评论 -
17088 分治法求众数(优先做)
17088分治法求众数(优先做)时间限制:1000MS 代码长度限制:10KB提交次数:0 通过次数:0题型: 编程题语言: G++;GCC;VCDescription给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。求众数方法很多,现要求你用分治算法来试一试,并分析其效率。编程任务:对于给定的由n个自然数组成的多重集S,采用分治算法编程...原创 2020-11-22 15:43:36 · 1215 阅读 · 1 评论 -
8594 有重复元素的排列问题(优先做)
Description设集合R={r1,r2,...,rn}是要进行排列的n个元素,其中r1,r2,...,rn可能相同。试着设计一个算法,列出R的所有不同排列。即,给定n以及待排的n个可能重复的元素。计算输出n个元素的所有不同排列。输入格式第1行是元素个数n,1<=n<=15。接下来的1行是待排列的n个元素,元素中间不要加空格。输出格式程序运行结束时,将计算输出n个元素的所有不同排列。最后1行中的数是排列总数。(说明:此题,所有计算出的排列原本是.原创 2020-11-19 23:57:54 · 768 阅读 · 1 评论 -
11076 浮点数的分数表达
Description在计算机中,用float或double来存储小数有时不能得到精确值,若要精确表达一个浮点数的计算结果,最好用分数来表示小数,有限小数或无限循环小数都可以转化为分数,无限循环小数的循环节用括号标记出来。如:0.9 = 9/100.(3) = 0.3(3) = 0.3(33) = 1/3当然一个小数可以用好几种分数形式来表示,我们只感兴趣最简的分数形式(即分母最小),如:0.3(33) = 1/3 = 3/9因为任何一个数都可以转化为一个整数和一个纯小数之和,整数部分较为简单原创 2020-11-12 21:10:18 · 679 阅读 · 0 评论 -
9715 相邻最大矩形面积
Description在X轴上水平放置着 N 个条形图,这 N 个条形图就组成了一个柱状图,每个条形图都是一个矩形,每个矩形都有相同的宽度,均为1单位长度,但是它们的高度并不相同。例如下图,图1包含的矩形的高分别为2,1,4,5,1,3,3 单位长度,矩形的宽为1单位长度。你的任务就是计算柱状图中以X轴为底边的最大矩形的面积。图2阴影部分就是上述例子的最大矩形面积。输入格式输入数据的第一行是一个整数 N(1≤ N ≤100000),表示柱状图包含 N 个矩形。紧接着 N 个整数h1,…,hn(原创 2020-11-12 21:07:13 · 602 阅读 · 0 评论 -
17086 字典序的全排列
Description什么叫字典序,顾名思义就是按照字典的排列顺序。以字典序为基础,我们可以得出任意两个数字串的大小。比如 "1" < "12"<"13"。 就是按每个数字位逐个比较的结果。对于一个数字串的排列,可以知道最小的排列是从小到大的有序串“123456789”,而最大的排列串是从大到小的有序串“987654321”。这样对于“123456789”的所有排列,将他们排序,即可以得到按照字典序排序的所有排列的有序集合。因此,当我们知道当前的排列时,要获取下一个排列时,就可以原创 2020-11-12 21:05:35 · 333 阅读 · 0 评论