ALLap

导航

 

2016年12月21日

摘要: 矩阵的乘积:一个i行j列的矩阵和一个j行k列的矩阵相乘,计算次数为i*j*k 那么问题来了:给定n个可相乘的矩阵,怎么相乘才能是计算次数最少呢? 输入: 多组输入数据。 每组数据以N开始,表示矩阵链的长度。接下来一行N+1个数表示矩阵的行/列数。 1<=N<=300 输出: 对于每组样例,输出一行最 阅读全文
posted @ 2016-12-21 01:01 ALLap 阅读(1115) 评论(0) 推荐(0)
 

2016年12月20日

摘要: 题意: N个人过河,船每次只能坐两个人,船载每个人过河的所需时间不同t[i],每次过河的时间为船上的人的较慢的那个,问最快的过河时间。(船划过去要有一个人划回来) 最优选择: 先将所有人过河所需的时间按照升序排序,我们考虑把单独过河所需要时间最多的两个旅行者送到对岸去,有两种方式: 1.最快的和次快 阅读全文
posted @ 2016-12-20 20:09 ALLap 阅读(2291) 评论(0) 推荐(0)
 
摘要: 题意: 给定n种物品和一个容量为M的背包。物品的重量分别是Wi,其价值为Vi。应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 与普通的0-1背包不同的是,对于每一件物品,可以选择只装入物品的一部分!! 分析: 此时贪心的想法自然是,优先选择单位重量价值最高的物品啦!直到装满。 代码: 阅读全文
posted @ 2016-12-20 19:54 ALLap 阅读(306) 评论(0) 推荐(0)
 
摘要: 题意: 假设现在有N项工作,分别在 Si 时刻开始,在 Ti 时刻结束,对于每项工作可以选择做或者不做,但不可以同时选择时间重叠的工作(即使是开始的瞬间和结束的瞬间重叠也是不允许的)。要求尽可能的多做几件事,那么最多能做几件事呢? 关键在于选择的策略: 优先选择时间最少的?F 优先选择开始最早的?F 阅读全文
posted @ 2016-12-20 19:42 ALLap 阅读(586) 评论(0) 推荐(0)
 
摘要: 1.调换流水线无需时间: 加工一件物品,有n条流水线,每条流水线都有m个工序,不同流水线的相同工序处理功能相同,但处理时间可能不同,为t[i][j]。若工序的进出站时间不计,流水线的调换时间也不计。 求加工一件物品最少需要多少时间。 状态:F[j]表示加工到第j个工序所需的最少时间 状态转换:F[j 阅读全文
posted @ 2016-12-20 19:27 ALLap 阅读(1355) 评论(0) 推荐(0)
 

2016年12月13日

摘要: 0-1背包: 0-1背包是背包问题的基础,它衍生出来的背包问题大致具有相同的思路。 而既然是属于动态规划的问题,其通法就在于两步: 1)定义状态:ans[i][T]代表着在容量为T时,只从前i个物品选择的最大价值 2)确定状态转移方程:ans[i][T]=max{ans[i-1][T],ans[i] 阅读全文
posted @ 2016-12-13 23:07 ALLap 阅读(272) 评论(0) 推荐(0)
 

2016年12月11日

摘要: 题意:求平面上n个点中最短的两个点的距离 思想:分治法 1:暴力枚举法一般都超时啦,复杂度为O(n^2) 2:分治法 将n个点划分为左右两部分,为使两边尽量均匀,一般以所谓点的横坐标的平均值为界。则最段点对要么在左边点中,要么在右边点中,要么横跨分界线。取左右点集合中最小值,再以它为范围,以分界线为 阅读全文
posted @ 2016-12-11 22:27 ALLap 阅读(186) 评论(0) 推荐(0)