算法设计
文章平均质量分 75
一只懒懒的coder
Java高级开发
展开
-
程序存储问题
程序存储问题 1、问题描述: 设有n 个程序{1,2,…, n }要存放在长度为L的磁带上。程序i存放在磁带上的长度是i l , 1 ≤i ≤n。程序存储问题要求确定这n 个程序在磁带上的一个存储方案,使得能够在磁带上存储尽可能多的程序。对于给定的n个程序存放在磁带上的长度,编程计算磁带上最多可以存储的程序数。 2、题目分析: 题目要求计算给定长度的磁带最多可存储的转载 2015-01-12 22:44:32 · 3659 阅读 · 0 评论 -
最优服务次序问题
最优服务次序问题 一、问题描述: 设有n 个顾客同时等待一项服务。顾客i需要的服务时间为ti, 1≦i ≦n 。共有s处可以提供此服务。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n 个顾客等待服务时间的总和除以n。 二、贪心选择策略假设原问题为T,而我们已经知道了某个最优服务系列,即最优解为A={t(1),t(2),….t(n)}(其中t(i)为第i个用户需转载 2015-01-12 22:56:36 · 2206 阅读 · 0 评论 -
0-1背包问题
0-1背包问题: 有N件物品和一个容量为V的背包。第i件物品的费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 这个问题的特点是:每种物品只有一件,可以选择放或者不放。算法基本思想:利用动态规划思想 ,子问题为:f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的最大价值。其状态转移方程是:f[i][v]=m转载 2015-01-12 21:36:18 · 372 阅读 · 0 评论 -
删数问题
题目描述: 键盘输入一个高精度的正整数N(此整数中没有‘0’),去掉其中任意S个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和S,寻找一种方案使得剩下的数字组成的新数最小。 输出应包括所去掉的数字的位置和组成的新的正整数。(N不超过240位) 样例输入175438 4 样例输出13 思路:(典型的贪心策略,方法就是从简单入手,慢慢复杂。原创 2015-01-13 14:00:41 · 737 阅读 · 0 评论 -
游艇租用问题
题目:租用游艇(boat) 问题描述: 长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1<=i<=j<=n。试设计一个算法,计算出从游艇出租站1 到游艇出租站n 所需的最少租金。 编程任务: 对于给定的游艇出租站i 到游艇出租站j 之间的租金原创 2015-01-05 13:21:31 · 1281 阅读 · 1 评论 -
石子合并问题
【石子合并】 在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。 试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分。 【输入文件】 包含两行,第1 行是正整数n(1 第2行有n个数,分别表示每堆石子的个数。 【输出文件】 输出两行。 第1原创 2015-01-05 12:38:15 · 482 阅读 · 0 评论