ydqbala

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2018年12月23日

摘要: 1.实践题目 :工作分配问题 2.问题描述 设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij 。 设计一个算法,对于给定的工作费用,为每一个人都分配1 件不同的工作,并使总费用达到最小。 输入格式: 输入数据的第一行有1 个正整数n (1≤n≤20)。接下来的n行,每行n个数,表示 阅读全文
posted @ 2018-12-23 16:01 ydqbala 阅读(108) 评论(0) 推荐(0) 编辑

摘要: 1.对回溯算法的理解 回溯算法实际上一个类似枚举的深度优先搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回(也就是递归返回),尝试别的路径。许多复杂的,规模较大的问题都可以使用回溯法,有“通用解题方法”的美称。回溯法说白了就是穷举法。回溯法一般用递归来解决。 阅读全文
posted @ 2018-12-23 15:39 ydqbala 阅读(91) 评论(0) 推荐(0) 编辑

2018年12月2日

摘要: 1.实践题目 2.问题描述 给定n位正整数a,去掉其中任意k≤n 个数字后,剩下的数字按原次序排列组成一个新 的正整数。对于给定的n位正整数a和正整数 k,设计一个算法找出剩下数字组成的新数最 小的删数方案。 3. while(count<k){ count++; int num=0; //1754 阅读全文
posted @ 2018-12-02 11:18 ydqbala 阅读(125) 评论(0) 推荐(0) 编辑

摘要: 1.站在全局的角度,也是将问题堪称分为多个阶段,只不过阶段和阶段之间有一定的递进关系,如从5毛,1元,2毛,1毛,2元中,去找最少的钱币构成10块钱。首先是站在全局的角度,先从中取其最大值,为第一阶段,然后在从剩余的当中在找最大值,构成第二阶段。。。。。。如此往复,这就是贪心法。 2.找到汽车满油量 阅读全文
posted @ 2018-12-02 11:00 ydqbala 阅读(95) 评论(0) 推荐(0) 编辑

2018年11月2日

摘要: 1.实践题目 2.问题描述 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的子段和的最大值。当所给的整数均为负数时,定义子段和为0。 要求算法的时间复杂度为O(n)。 输入格式: 输入有两行: 第一行是n值(1<=n<= 阅读全文
posted @ 2018-11-02 11:58 ydqbala 阅读(114) 评论(0) 推荐(0) 编辑

摘要: 1.对动态规划算法的理解 求解的方式有两种:①自顶向下的备忘录法 ②自底向上。 动态规划是运筹学中用于求解决策过程中的最优化数学方法。 动态规划最重要的是子问题的求解,在求解任一子问题时,列出各种可能的局部解,通过决策保留那些有可能达到最优的局部解,丢弃其它局部解。因为动态规划解决的问题多数有重叠子 阅读全文
posted @ 2018-11-02 11:42 ydqbala 阅读(133) 评论(0) 推荐(0) 编辑

2018年10月13日

摘要: 1.实践题目 2.问题描述 已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A​0​​,A​1​​,⋯,A​N−1​​的中位数指A​(N−1)/2​​的值,即第⌊(N+1)/2⌋个数(A​0​​为第1个数)。 3.算法描述 4.算法时间及空间复杂度 时间复杂度O( 阅读全文
posted @ 2018-10-13 23:19 ydqbala 阅读(153) 评论(0) 推荐(0) 编辑

摘要: 二分法看起来只是一种计算思路,但它确实做到了对程序运行时间的有效减少,虽然编程思路的难度上升,但却是极其有效的, 二分法是为了减少遍历数组的时间复杂度,但是二分法遍历的数组应该是有序数组。有些问题用二分法解决时不会直接给出有序数组,有时需要我们提取出对应于问题答案的一组数放在数组里并排序。 二分法的 阅读全文
posted @ 2018-10-13 12:54 ydqbala 阅读(87) 评论(0) 推荐(0) 编辑