算法
文章平均质量分 70
Sriven
请叫我技术宅
展开
-
集合划分问题---分治法
问题描述:n个元素的集合{1,2,?, n }可以划分为若干个非空子集。例如,当n=4 时,集合{1,2,3,4}可以划分为15 个不同的非空子集如下: {{1},{2},{3},{4}}, {{1,2},{3,4}}, {{1,2},{3},{4}}, {{1,3},{2,4}}, {{1,3},{2},{4}}, {{1,4},{2,3}}, {{1,4},{2},{3}}, {{1,2,3},{4}}, {{2,3},{1},{4}}, ...原创 2020-10-17 16:46:04 · 2284 阅读 · 2 评论 -
会场安排问题---贪心
题目描述假设要在足够多的会场里安排一批活动,并希望使用尽可能少的会场。设计一个算法进行安排。输入第一行一个n(n<=10000)代表任务总数第二行到第(n + 1)行包含n个开始时间和结束时间。开始时间严格小于结束时间,并且时间都是非负整数,小于1000000000输出输出最小需要多少会场数样例输入51 2312 2825 3527 8036 50样例输出3分析一个活动的安排,取决于该活动的开始时间和上一个活动的结束时间是否冲突。所以先将所有.原创 2020-10-17 16:39:48 · 641 阅读 · 0 评论 -
最大k乘积问题----动态规划
问题设I是一个n位十进制整数。如果将I划分为k段,则可得到k个整数。这k个整数的乘积称为I的一个k乘积。试设计一个算法,对于给定的I和k,求出I的最大k乘积。编程任务:对于给定的I 和k,编程计算I 的最大k 乘积。需求输入:输入的第1 行中有2个正整数n和k。正整数n是序列的长度;正整数k是分割的段数。接下来的一行中是一个n位十进制整数。(n<=10)需求输出:计算出的最大k乘积。例如输入4 31234输出:144分析 设m(i,j)表示将第i~n位数划分.原创 2020-10-15 20:16:22 · 3072 阅读 · 0 评论 -
租用游艇问题---动态规划
问题描述长江游艇俱乐部在长江上设置了n个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j),1<=i<j<=n。试设计一个算法,计算出从游艇出租站1到游艇出租站n所需的最少租金。编程任务对于给定的游艇出租站i到游艇出租站j之间的租金为r(i,j),1<=i<j<=n,编程计算从游艇出租站1到游艇出租站n所需的最少租金。数据输入由文件input.txt提供输入数据。文件的第原创 2020-10-15 16:17:07 · 8557 阅读 · 3 评论 -
石子合并问题---动态规划
一、问题描述问题描述:在一个圆形操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次只能选择相邻的两堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。算法设计:试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。样例输入:由input.txt提供输入数据样例输出:输出数据保存到output.txt输入文件示例:input.txt44 4 5 9输出文件示例:output.txt4354二、问题分析...原创 2020-10-14 19:33:57 · 747 阅读 · 1 评论 -
最优批处理问题---动态规划
问题描述在一台超级计算机上,编号为1,2,3···的n个作业等待批处理。批处理的任务就是将这n个作业分成若干批,每批包含相邻的若干作业。从时刻0开始,分批加工这些作业。在每批作业开始前,机器需要启动时间S,而完成这批作业所需的时间是单独完成批中各个作业需要时间的总和。单独完成第i个作业所需的时间是 ti,所需的费用是它的完成时刻乘以一个费用系数fi。同一批作业将在同一时刻完成。例如,如果在时刻 T 开始一批作业 x,x+1,x+2···x+k, 则这一批作业的完成时刻均为T+S+(tx+tx+1tx+2·原创 2020-10-13 22:17:42 · 2514 阅读 · 0 评论