算法题目,求解,赶时间,在线等!

问题描述

算法题目,求解,赶时间,在线等!

长跑接力赛全程m公里,规定:每个队5人,每个人都必须而且只能跑一次,并且至少跑1公里、最多跑n公里,接力点必须在整公里处。刘教练挑选了5名队员,测试后得到每个人连续跑1、2、3、……、n公里的最短时间。他准备精心安排每个队员跑的公里数,使全队完成接力赛用时最短。你能帮教练做一个最佳方案吗?(数据保证最佳方案唯一)
(设:每人连续跑的路程越长速度越慢,若有保持速度的,也绝不会变快。)

[输入]m n (m≦5000,n≤1000)
下接5行,每行n个整数(表示每个连续跑1~n公里的最短时间,以空格相隔)

[输出]第一行:最短时间(时间≤maxlongint)
第二行:五个整数(表示安排1-5号队员各自连续跑的公里数,以空格相隔)
[样例]输入:
25 10
333 700 1200 1710 2240 2613 3245 3956 4778 5899
300 610 960 1370 1800 2712 3834 4834 5998 7682
298 612 990 1560 2109 2896 3790 4747 5996 7654
289 577 890 1381 1976 2734 3876 5678 6890 9876
312 633 995 1467 1845 2634 3636 4812 5999 8123
输出:
9748
6 5 5 4 5

解决方案

http://tieba.baidu.com/p/1614224314

解决方案二:

m = 25;
n = 10;
map = [333 700 1200 1710 2240 2613 3245 3956 4778 5899
300 610 960 1370 1800 2712 3834 4834 5998 7682
298 612 990 1560 2109 2896 3790 4747 5996 7654
289 577 890 1381 1976 2734 3876 5678 6890 9876
312 633 995 1467 1845 2634 3636 4812 5999 8123];
a1 = [1 0 0 0 -1]';
a2 = [0 1 0 0 -1]';
a3 = [0 0 1 0 -1]';
a4 = [0 0 0 1 -1]';
f = @(x1,x2,x3,x4)m+a1.*x1+a2.*x2+a3.*x3+a4.*x4;
time = inf;
index = [0 0 0 0 0];
for x1 = 1:n
for x2 = 1:n
for x3 = 1:n
for x4 = 1:n
x5 = m-x1-x2-x3-x4;
if x5>0&x5<=n
t = map(1,x1)+map(2,x2)+map(3,x3)+map(4,x4)+map(5,x5);
if (time>t)
time = t;
index = [x1 x2 x3 x4 x5];
end
end
end
end
end
end
数据量比较小,这样实现是最快的

时间: 2024-12-21 05:02:50

算法题目,求解,赶时间,在线等!的相关文章

求解acm题目,一直时间超限,求更优的算法

问题描述 求解acm题目,一直时间超限,求更优的算法 #include<cstdio> #include<cstring> int v[10000]; int a[10000]; int s; int check(int k) { for(int i=0;i<s;i++) if(k == a[i]) return 0; return 1; } void dfs(int t,int n,int k) { if(n==0){ if(check(k)){ a[s++] = k; /

蓝桥杯 算法问题 求解

问题描述 蓝桥杯 算法问题 求解 问题描述 给定一条标有整点(1, 2, 3, ...)的射线. 定义两个点之间的距离为其下标之差的绝对值. Laharl, Etna, Flonne一开始在这条射线上不同的三个点, 他们希望其中某个人能够到达下标最大的点. 每个角色只能进行下面的3种操作, 且每种操作不能每人不能进行超过一次. 1.移动一定的距离 2.把另一个角色高举过头 3.将举在头上的角色扔出一段距离 每个角色有一个movement range参数, 他们只能移动到没有人的位置, 并且起点和

怎么解决面试中算法题目~~~~~~~~

问题描述 很多人说面试的时候有一些算法题目,很多都做不到,我也想去找下工作,请问如果解决这种题目啊?忘高人指点下 解决方案 解决方案二:这个要靠你平时积累了,不过我去年找工作时也面了不少,面试时很少问算法啊,问得最多的还是项目经历和语言以及框架的底层机制解决方案三:算法靠平时积累招应届毕业生考算法的多点大公司也爱考算法面试时考算法的确实很少解决方案四:引用2楼swandragon的回复: 算法靠平时积累招应届毕业生考算法的多点大公司也爱考算法面试时考算法的确实很少 确实也是这个情况...解决方案

c++-C++一道类的继承题目求解

问题描述 C++一道类的继承题目求解 设计一个用于图书管理的"图书"类Book 基本属性:title(书名),author(作者) 要求包含:构造函数.析构函数.拷贝构造函数."="函数及其他必要的成员函数 增加一个有声图书类AudioBook,该类继承自Book 基本属性: narrator(解说员) borrow_date(借阅时间):Date类对象 要求包含:构造函数.析构函数.拷贝构造函数."="函数及其他必要的成员函数 添加纸质图书Pa

一道关于数组的算法题目,请用java实现。

问题描述 一道关于数组的算法题目,请用java实现. 在这个图片里我们有不同高度的墙.这个图片由一个整数数组所代表,数组中每个数是墙的高度.上边的图可以表示为数组[2,5,1,2,3,4,7,7,6]. 假如开始下雨了,那么墙之间的水坑能够装多少水呢? 请用java实现(任意数组求出结果) 解决方案 参考这三个贴 http://www.cnblogs.com/xiangnan/archive/2013/11/01/3402467.html http://blog.jobbole.com/5070

java-一道ava算法题目。。。。。

问题描述 一道ava算法题目..... 写一个函数来从数组中删除重复的对象.维持秩序.例如,如果输入的数组[ 1,5,4,2,7,2,6,5 ],结果应该是[ 1,5,4,2,7,6 ].实施时应执行速度的优化. 解决方案 其实你可以用set啊,set里的数据都是不能重复的 ps: List就是可以重复的集合.而Set是不可以重复的. 假如你输入1,2,2,4 那么在List集合中就有4个元素:1,2,2,4 但如果在Set集合中就只有3个元素了:1,2,4

分享Java面试中遇到的一些经典算法题目

问题描述 1.写一个方法,用一个for循环打印九九乘法表/***打印九九乘法口诀表*/publicvoidnineNineMulitTable(){for(inti=1,j=1;j<=9;i++){System.out.print(i+"*"+j+"="+i*j+"");if(i==j){i=0;j++;System.out.println();}}} 2.给定一个java.util.Date对象,如何转化为"2007-3-222

leetcode-leetCode上Easy级别题目求解

问题描述 leetCode上Easy级别题目求解 题目: Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory. For ex

java源码-这个题目求解,没太看懂????

问题描述 这个题目求解,没太看懂???? ??求解啊,这个求源码,没大看懂??大神?????????????????????????????????? 解决方案 Scanner reader=new Scanner(System.in); String[] lines = scanner.nextLine().split("|"); for (int i = 0; i < lines.length(); i++) { String[] data = lines[i].split(