算法
huangxiang360729
编程是一门技术也是门艺术
展开
-
算法_动态规划_图像压缩
import java.util.Scanner;public class Main { private static int n;//像素点总个数 private static int[] p;//像素点灰度值序列 private static int[] s;//s[i]:像素序列{p1,p2,...,pk}的最优分段所需的存储位数 private static原创 2016-03-18 17:06:38 · 2789 阅读 · 1 评论 -
算法_动态规划_乘法表问题
问题描述: 定义于字母表∑{a,b,c)上的乘法表如表所示 表1∑乘法表 a b c a b b a b c b a c a c c 依此乘法表,对任一定义于∑上的字符串,适当加括号表达式后得到一个表达式。例如,对于字符串x=bbbba,它的一个加括号表达式为i(b(bb))(ba)。依乘法表,该表达式的值为a。试设计一个动态规划算法,对任一定义于∑上的字原创 2016-04-11 20:33:38 · 2154 阅读 · 0 评论 -
算法_动态规划_石子合并问题
问题描述: 在一个圆形操场的四周摆放着n 堆石子。现要将石子有次序地合并成一堆。 规定每次只能选相邻的2 堆石子合并成新的一堆,并将新的一堆石子数记为该次合并的得分。 试设计一个算法,计算出将n堆石子合并成一堆的最小得分和最大得分问题分析: 在此我们假设有n堆石子,一字排开,合并相邻两堆的石子,每合并两堆石子得到一个分数,最终合并后总分数最少的。 我们设m(i,j)定义为第i堆石子到第j堆原创 2016-04-11 19:26:25 · 6619 阅读 · 0 评论 -
算法_动态规划_编辑距离问题
问题描述 设A和B是2个字符串。要用最少的字符操作将字符串A转换为字符串B。这里所说的字符操作包括 (1)删除一个字符;(2)插入一个字符;(3)将一个字符改为另一个字符。 将字符串A变换为字符串B所用的最少字符操作数称为字符串A到B的编辑距离,记为d(A,B)。试设计一个有效算法,对任给的2个字符串A和B,计算出它们的编辑距离d(A,B)。 对于给定的字符串A和字符串B,编程计算其编辑距离原创 2016-04-11 18:01:53 · 1085 阅读 · 0 评论 -
算法_动态规划_序关系计数问题
序关系计数问题 问题描述: 用关系“<”和“=”将3 个数A、B和C依序排列时有13 种不同的序关系: A=B=C,A=Bimport java.util.Scanner;public class Main { /** * @param args */ public static void main(String[] args) { // T原创 2016-04-11 17:28:15 · 854 阅读 · 1 评论 -
算法_动态规划_最少硬币问题
问题描述: 设有n 种不同面值的硬币,各硬币的面值存于数组T〔1:n〕中。现要用这些面值的硬 币来找钱。可以使用的各种面值的硬币个数存于数组Coins〔1:n〕中。 对任意钱数0≤m≤20001,设计一个用最少硬币找钱m的方法。 ?编程任务: 对于给定的1≤n≤10,硬币面值数组T和可以使用的各种面值的硬币个数数组Coins, 以及钱数m,0≤m≤20001,编程计算找钱m的原创 2016-04-08 20:25:54 · 2310 阅读 · 0 评论 -
算法_动态规划_独立任务最优调度问题
问题描述 用2 台处理机A 和B 处理n个作业。设第i 个作业交给机器A 处理时需要时间ai,若由机器B来处理,则需要时间bi。由于各作业的特点和机器的性能关系,很可能对于某些i,有ai>=bi,而对于某些j,j≠i,有ajimport java.util.Scanner;public class Main { private static int n; private sta原创 2016-04-08 19:15:11 · 3790 阅读 · 2 评论 -
算法_备忘录算法_Ackermann函数
Ackermann函数定义如下: 若m=0,返回n+1。 若m>0且n=0,返回Ackermann(m-1,1)。 若m>0且n>0,返回Ackermann(m-1,Ackermann(m,n-1))。import java.util.Scanner;public class Main { private static int[][] A; /** * @param a原创 2016-04-08 12:23:43 · 1383 阅读 · 0 评论 -
算法_动态规划_二维01背包问题
给定n中物品和一个背包,物品i的重量为wi,体积为ci,价值为vi,背包容量为l,容积为v, 如何选择装入背包的物品,使得装入背包的物品总价值最大?import java.util.Scanner;/** * @author 翔 */public class Main { private static int n; private static int c;//容量原创 2016-04-08 11:26:28 · 3055 阅读 · 0 评论 -
算法_动态规划_整数线性规划问题
import java.util.Scanner;public class Main { private static int n; private static int c; private static int[] weightArr; private static int[] valueArr; private static int[][] dp;原创 2016-04-08 10:46:49 · 8782 阅读 · 0 评论 -
算法_动态规划_漂亮打印
import java.util.ArrayList;import java.util.Scanner;public class Main { private static final int MAX=10000000; private static int n; private static int M; private static int[] arr;原创 2016-04-08 10:09:22 · 2491 阅读 · 0 评论 -
算法_动态规划_最长单调递增子序列问题(O(nlogn)的时间复杂度)
import java.util.Scanner;public class Main { static int n; static int[] arr; static int[] dp; /** * @param args */ public static void main(String[] args) { // TODO原创 2016-04-07 23:23:46 · 2774 阅读 · 0 评论 -
算法_动态规划_矩阵路径最大和
题目描述:有一个m×n的矩阵,现要从左上角走到右下角,并且方向只能是向下或者向右, 现规定一条路径的权值为走此路径所经过的值的和。给定一个矩阵,请找出权值最大的一条 路径。 Example: 2 5 6 3 9 4 7 9 1 所找到的路径为2->5->9->9->1,权值为26。import java.util.Scanner;/** * @author 翔 * */pub原创 2016-04-07 21:44:29 · 2394 阅读 · 0 评论 -
算法_动态规划_最长单调递增子序列
问题描述:找出由n个数组成的序列的最长单调递增子序列import java.util.Scanner;public class Main { private static int n; private static int[] arr; private static int[] b; private static int[] pre; /** * @p原创 2016-04-06 21:37:43 · 699 阅读 · 0 评论 -
算法_动态规划_01背包问题(重量为浮点型)
问题描述和分析请查看王晓东编著的<<算法设计与分析>>P77import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.Scanner;public class Main { private static int n; private stat原创 2016-04-06 19:18:06 · 3142 阅读 · 0 评论 -
算法_动态规划_流水作业调度
import java.util.ArrayList;import java.util.Collections;import java.util.Scanner;public class Main { private static int n; private static ArrayList<Cell> cells=new ArrayList<Cell>(); /**原创 2016-04-06 14:38:26 · 812 阅读 · 0 评论 -
算法_动态规划_电路布线
import java.util.Scanner;public class Main { private static int n; private static int[][] size; private static int[] pi; /** * @param args */ public static void main(Strin原创 2016-04-06 12:48:33 · 720 阅读 · 0 评论 -
蓝桥杯_算法提高_金属采集(树形动态规划)
问题描述 人类在火星上发现了一种新的金属!这些金属分布在一些奇怪的地方,不妨叫它节点好了。 一些节点之间有道路相连,所有的节点和道路形成了一棵树。 一 共有 n 个节点,这些节点被编号为 1~n 。 人类将 k 个机器人送上了火星,目的是采集这些金属。 这些机器人都被送到了一个指定的着落点, S 号节点。 每个机器人在着落之后,必须沿着道路行走。当机器人到达一个节点时,它会采集这个节点蕴原创 2016-03-19 11:27:30 · 1025 阅读 · 0 评论 -
算法_动态规划_租用游艇问题
问题描述: 长江游乐俱乐部在长江上设置了n个游艇出租站,游客可以在这些游艇出租站用游艇,并在下游任何一个游艇出租站归还游艇,游艇出租站i到j之间的租金是rent(i,j),其中1<=iimport java.util.Scanner;public class Main { private static int n; private static int[][] cost;原创 2016-04-11 20:57:29 · 3060 阅读 · 2 评论