算法设计
全部都AC
这个作者很懒,什么都没留下…
展开
-
最长公共子序列问题—动态规划sdut
最长公共子序列问题Description给定两个序列 X={x1,x2,…,xm} 和 Y={y1,y2,…,yn},找出X和Y的最长公共子序列。Input输入数据有多组,每组有两行 ,每行为一个长度不超过500的字符串(输入全是大写英文字母(A,Z)),表示序列X和Y。Output每组输出一行,表示所求得的最长公共子序列的长度,若不存在公共子序列,则输出0。SampleInputABCBDABBDCABAOutput4代码实现及思想大概.(本人学的也不是很好,也处于一边学习的路上原创 2020-12-07 21:49:25 · 593 阅读 · 0 评论 -
工作分配问题—搜索算法sdut
工作分配问题Description设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为 cij。试设计一个算法,为每一个人都分配1 件不同的工作,并使总费用达到最小。设计一个算法,对于给定的工作费用,计算最佳工作分配方案,使总费用达到最小。Input输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示工作费用。Output将计算出的最小总费用输出。SampleInput310 2 32 3 43 4 5Output9代码实现及思想大概.(原创 2020-12-07 17:00:54 · 397 阅读 · 0 评论 -
子集和问题—搜索算法sdut
子集和问题Description子集和问题的一个实例为〈S,t〉。其中,S={ x1 , x2 ,…,xn }是一个正整数的集合,c是一个正整数。子集和问题判定是否存在S的一个子集S1,使得:。试设计一个解子集和问题的回溯法。对于给定的正整数的集合S={ x1 , x2 ,…,xn }和正整数c,计算S 的一个子集S1,使得:。Input输入数据的第1 行有2 个正整数n 和c(n≤10000,c≤10000000),n 表示S 的大小,c是子集和的目标值。接下来的1 行中,有n个正整数原创 2020-12-07 13:42:43 · 530 阅读 · 2 评论 -
区间覆盖问题—贪心算法SDUT
区间覆盖问题Description设x1 , x2 ,…… , xn 是实直线上的n 个点。用固定长度的闭区间覆盖这n 个点,至少需要多少个这样的固定长度闭区间?对于给定的实直线上的n个点和闭区间的长度k,设计解此问题的有效算法,计算覆盖点集的最少区间数,并证明算法的正确性。Input输入数据的第一行有2 个正整数n和k(n≤10000,k≤100),表示有n个点,且固定长度闭区间的长度为k。接下来的1 行中,有n个整数,表示n个点在实直线上的坐标(可能相同)。Output输出一个整数,表示计原创 2020-12-07 12:20:09 · 1695 阅读 · 0 评论 -
活动选择--贪心算法sdut
活动选择Description学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断。现在各个社团都提交了他们使用该中心的活动计划(即活动的开始时刻和截止时刻)。请设计一个算法来找到一个最佳的分配序列,以能够在大学生艺术中心安排不冲突的尽可能多的社团活动。比如有5个活动,开始与截止时刻分别为:最佳安排序列为:1,4,5。Input第一行输入活动数目n(0<n<100);以后输入n行,分别输入序号为1到n的原创 2020-12-06 21:42:36 · 422 阅读 · 5 评论 -
装船问题—贪心算法
装船问题Description王小二毕业后从事船运规划工作,吉祥号货轮的最大载重量为M吨,有10种货物可以装船。第i种货物有wi吨,总价值是pi。王小二的任务是从10种货物中挑选若干吨上船,在满足货物总重量小于等于M的前提下,运走的货物的价重比最大。Input输入数据的第一行有一个正整数M(0 < M < 10000),表示所有货物最大载重量。在接下来的10行中,每行有若干个数(中间用空格分开),第i行表示的是第i种货物的货物的总价值pi ,总重量wi。(pi是wi的整数倍,0 <原创 2020-12-06 20:55:38 · 961 阅读 · 0 评论 -
汽车加油问题—贪心算法
汽车加油问题Description一辆汽车加满油后可行驶n公里。旅途中有若干个加油站。设计一个有效算法,指出应在哪些加油站停靠加油,使沿途加油次数最少。并证明算法能产生一个最优解。对于给定的n和k个加油站位置,计算最少加油次数。Input输入数据的第一行有2 个正整数n和k(n≤5000,k≤1000),表示汽车加满油后可行驶n公里,且旅途中有k个加油站。接下来的1 行中,有k+1 个整数,表示第k个加油站与第k-1 个加油站之间的距离。第0 个加油站表示出发地,汽车已加满油。第k+1 个加油站表原创 2020-12-06 17:00:16 · 729 阅读 · 2 评论 -
数字三角形问题—动态规划
数字三角形问题Description给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。Input输入数据的第1行是数字三角形的行数n,1≤n≤100。接下来n行是数字三角形各行中的数字。所有数字在0…99之间。Output输出数据只有一个整数,表示计算出的最大值。SampleInput573 88 1 02 7 4 4原创 2020-12-06 16:40:10 · 1002 阅读 · 0 评论 -
众数问题-分治算法
众数问题Description给定含有n个元素的多重集合S,每个元素在S中出现的次数称为该元素的重数。多重集S中重数最大的元素称为众数。例如,S={1,2,2,2,3,5}。多重集S的众数是2,其重数为3。对于给定的由n 个自然数组成的多重集S,计算S的众数及其重数。如果出现多个众数,请输出最小的那个。Input输入数据的第1行是多重集S中元素个数n(n<1300000);接下来的n行中,每行有一个最多含有5位数字的自然数,。Output输出数据的第1行给出众数,第2行是重数。Sampl原创 2020-12-05 21:55:45 · 1762 阅读 · 0 评论 -
最少硬币问题—动态规划
#最少硬币问题Description设有n种不同面值的硬币,各硬币的面值存于数组T[1:n]中。现要用这些面值的硬币来找钱。可以使用的各种面值的硬币个数存于数组Coins[1:n]中。对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法。对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币个数数组Coins,以及钱数m,0≤m≤20001,计算找钱m的最少硬币数。Input输入数据第一行中只有1个整数给出n的值,第2行起每行2个数,分别是T[j]和Coins[j]。最后1行是原创 2020-12-06 16:15:06 · 1096 阅读 · 0 评论 -
高数Umaru系列(9)——哈士奇
高数Umaru系列(9)——哈士奇Description由于高数巨养的喵星人太傲娇了,要天天吃新鲜猫粮而且还经常欺负高数巨,所以高数巨决定买几条哈士奇尝尝鲜。这天高数巨来到了二手狗市场买哈士奇,高数巨看完了所有的哈士奇,记下了每条哈士奇的价格,并根据对它们的好感程度给它们每只都赋予了一个萌值。高数现在手里有X元,她想通过购买若干条哈士奇来获得尽可能多的萌值。现在给定高数巨手里的钱X以及N条哈士奇的价格和萌值,求高数巨最多可获得多少萌值Input多组输入。对于每组输入,第一行有两个整数N,X(1 &l原创 2020-12-06 15:46:20 · 130 阅读 · 0 评论 -
骨牌铺方格
骨牌铺方格Description在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:Input输入包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0< n<=50)。Output输出铺放方案的总数。SampleInput3Output3代码实现及思想大概.(本人学的也不是很好,也处于一边学习的路上,如有不合适或者理解错误的地方,还请斧正)由于时间原因,思想我会在原创 2020-12-06 15:42:40 · 356 阅读 · 0 评论 -
最大子段和之分治递归法
最大子段和之分治递归法Description给定n(1<=n<=50000)个整数(可能为负数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+…+a[j]},1<=i<=j<=n,例如当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为2原创 2020-12-06 15:37:02 · 463 阅读 · 0 评论