
算法
fufu de+
这个作者很懒,什么都没留下…
展开
-
7-2 最嘉调度问题 (回溯)
假设有n(n<=20)个任务由k(k<=20)个可并行工作的机器完成。完成任务i需要的时间为ti。 试设计一个算法,对任意给定的整数n和k,以及完成任务i 需要的时间为ti ,i=1~n。计算完成这n个任务的最佳调度,使得完成全部任务的时间最早。输入格式:输入数据的第一行有2 个正整数n和k。第2 行的n个正整数是完成n个任务需要的时间。输出格式:将计算出的完成全部任务的最早时间输出到屏幕。输入样例:在这里给出一组输入。例如:7 32 14 4 16 6 5 3原创 2021-12-11 17:38:45 · 322 阅读 · 2 评论 -
7-1 0-1背包 (回溯)
给定n(n<=100)种物品和一个背包。物品i的重量是wi,价值为vi,背包的容量为C(C<=1000)。问:应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有两个选择:装入或不装入。不能将物品i装入多次,也不能只装入部分物品i。输入格式:共有n+1行输入: 第一行为n值和c值,表示n件物品和背包容量c; 接下来的n行,每行有两个数据,分别表示第i(1≤i≤n)件物品的重量和价值。输出格式:输出装入背包中物品的最大总价值。输原创 2021-12-11 10:40:00 · 359 阅读 · 0 评论 -
部落卫队问题 (回溯)
原始部落byteland中的居民们为了争抢有限的资源,经常发生冲突。几乎每个居民都有它的仇敌。部落酋长为了组织一支保卫部落的队伍,希望从部落的居民中选出最多的居民入伍,并保证队伍中任何两个人都不是仇敌。输入格式:第一行两个正整数n和m,表示byteland部落中有n个居民,居民间有m个仇敌关系, 0<n<200, 0<m<6000。居民编号为1,2,…,n。接下来输入m行中,每行正整数u和v,表示居民u和居民v是仇敌。输出格式:输出部落卫队最佳组建方案中包含的居民人数原创 2021-12-10 16:20:19 · 2931 阅读 · 4 评论 -
子集和问题(回溯)
设集合S={x1,x2,…,xn}是一个正整数集合,c是一个正整数,子集和问题判定是否存在S的一个子集S1,使S1中的元素之和为c。试设计一个解子集和问题的回溯法,并输出利用回溯法在搜索树(按输入顺序建立)中找到的第一个解。输入格式:输入数据第1行有2个正整数n和c,n表示S的大小,c是子集和的目标值。接下来的1行中,有n个正整数,表示集合S中的元素。 是子集和的目标值。接下来的1 行中,有n个正整数,表示集合S中的元素。输出格式:输出利用回溯法找到的第一个解,以空格分隔,最后一个输出的后面原创 2021-12-09 00:44:17 · 556 阅读 · 1 评论 -
选点问题(贪心算法)
数轴上有n个闭区间[ai, bi]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个)。输入格式:第一行一个数字n,表示有n个闭区间。 下面n行,每行包含2个数字,表示闭区间[ai, bi]输出格式:一个整数,表示至少需要几个点输入样例:在这里给出一组输入。例如:31 32 45 6输出样例:在这里给出相应的输出。例如:2思考过程:如果一个点取在交集内,那么该点所占的区间更多 看看三种最基本的情况:那么怎样最可能找到交原创 2021-11-24 18:16:39 · 1303 阅读 · 0 评论