未绪

个人博客 http://weixublog.xyz ,欢迎访问~

排序:
默认
按更新时间
按访问量

子集树与排列树

在前面的利用回溯法求解01背包问题的时候,我们提到了这个问题的解空间树是子集树,那么什么是子集树呢?与子集树对应的还有一个排列树!它们又有什么区别呢?概念说明为了说明这两个概念的区别,我们首先假定有一个集合SS当我们求解的结果是集合SS的某一子集的时候,其对应的解空间是子集树。时间复杂度O(2n)...

2017-07-14 17:48:35

阅读数:3792

评论数:0

回溯法求解01背包问题

问题描述在前面文章http://blog.csdn.net/zjq_1314520/article/details/74858504我们使用动态规划求解了背包问题,时间复杂度是O(cn)O(cn),当我们的c的值非常大的时候,说消耗的时间也是非常大的! 接下来我们就使用回溯法来求解这个问题,其时...

2017-07-14 16:03:10

阅读数:1515

评论数:1

用贪心算法解背包问题(装载问题)

题目描述给定一个最大载重量为M的卡车和N种食品,有食盐,白糖,大米等。已知第 i 种食品的最多拥有Wi 公斤,其商品价值为Vi元/公斤,编程确定一个装货方案,使得装入卡车中的所有物品总价值最大。题目分析分析:因为每一个物品都可以分割成单位体积,单位体积的利益越大显然总收益越大,所以它局部最优满足全...

2017-07-11 20:19:46

阅读数:600

评论数:0

利用动态规划求解01背包问题

问题描述现在我们有n件物品,每件物品有其对应的重量(w)和对应的价值(v),现在有一个背包可以用来装这些物品,但是由于其承重量有限,故有一个最大承重c。 现在给定物品的件数,背包的承重,以及每一件物品对应的重量和质量,我们求出在这种情况下,背包装的物品的最大价值。如下: 输入: 5 1...

2017-07-09 12:38:54

阅读数:306

评论数:0

动态规划之最长公共子序列问题(LCS)

问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列。令给定的字符序列X=“x0,x1,…,xm-1”,序列Y=“y0,y1,…,yk-1”是X的子序列,存在X的一个严格递增下标序列<i0,i1,…,ik-1>,使得对所...

2017-07-08 18:44:41

阅读数:1370

评论数:0

动态规划之最大字段和问题

问题提出有一由n个整数组成的序列A={a1,a2,...an,}A=\{a_1,a_2,...a_n,\},截取其中从i−ji-j的子段并计算字段和,那么最大的字段和为多少?

2017-07-05 16:56:33

阅读数:1590

评论数:0

递归与分治策略之利用中位数线性时间选择

前言这一篇文章就上上一篇博文算法的进一步优化了! 这里我们就利用中位数来进行线性时间的选择算法! 中位数就是指将数据按大小顺序排列起来,形成一个数列,居于数列中间位置的那个数据就是中位数。 算法思路(1)将输入的n个数划分成 ⌈n5⌉\lceil \frac{n}{5} \rceil 个组...

2017-07-03 01:40:32

阅读数:378

评论数:0

递归与分治策略之线性时间选择(随机划分线性选择)

题目描述给定线性序集中n个元素和一个整数k,1≤k≤n,要求找出这n个元素中第k小的元素。 输入包括两行: 第一行两个数:n k (n表示数组长度 k表示第k小的数) 第二行输入数组的n个元素。 输出:第k小的数 例如输入: 8 5 44 39 27...

2017-07-03 00:37:43

阅读数:191

评论数:0

递归与分治策略之快速排序

前言快速排序是基于分治策略的一个排序算法,时间复杂度为O(N∗logN)O(N*logN),故效率较高,也因此被广泛使用。快速排序的基本思想快速排序分为三步: (1)分解:选取一个基准,使得该基准左边的数都小于它,右边的数都大于它! (2)递归求解:在次对该基准的左右两边递归进行步骤(1)的操...

2017-07-02 18:04:33

阅读数:535

评论数:0

递归与分治策略之大整数的乘法

题目描述 计算两个长度小于100位的大整数的乘积。 例如: 输入: 111111111 222222222 输出: 24691357975308642 解题思路一-利用小学学过的思路我们小学学过的思路是什么呢? 举个例子,比如我们在计算 ...

2017-07-02 16:38:40

阅读数:222

评论数:0

OJ刷题小技巧

1.一般用C语言节约空间,要用C++库函数或STL时才用C++; cout、cin和printf、scanf最好不要混用。 大数据输入输出时最好不要用cin、cout,防止超时。   2.有时候int型不够用,可以用long long或__int64型(两个下划线__)。 值类型表示值介...

2017-04-12 17:19:02

阅读数:1568

评论数:0

算法:高精度运算(HDU:problem&amp;nbs…

A + B Problem Problem Description I have a very simple problem for you. Given two integers A and B, your job is to calculate the Sum of A + B.   Inpu...

2017-04-12 17:18:57

阅读数:561

评论数:0

算法:规律查找

求13^n,(1 题目描叙:        求13的n次方(12 样例输入:         13         20 样例输出:       253       801     解题思路:      先通过程序找出规律,得知结果的变化周期是100,设a[n]代表13^n最后三位数,可知道a...

2017-04-12 17:18:50

阅读数:791

评论数:0

怎样求任意一个数的位数问题

对于一般要求不高的程序代码如下: #include iostream > using namespace std; int main() {    __int64 n;    while(scanf("%I64d",&n)==1)    {     int cou...

2017-03-22 20:50:29

阅读数:930

评论数:0

九度OJ:题目 1028 继续畅通工程

九度OJ:题目 1028 继续畅通工程

2016-03-12 21:18:37

阅读数:382

评论数:0

九度OJ:题目 1017 还是畅通工程

九度OJ:题目 1017 还是畅通工程

2016-03-12 16:26:11

阅读数:322

评论数:0

九度OJ:题目1015 还是A+B

九度OJ:题目1015 还是A+B

2016-03-12 12:29:59

阅读数:450

评论数:0

九度OJ:题目 1014 排名

九度OJ解题指导

2016-03-11 23:48:12

阅读数:317

评论数:0

九度OJ:题目 1012 畅通工程

九度OJ解题指导

2016-03-11 13:31:07

阅读数:367

评论数:0

九度OJ:1011 最大连续子序列

九度OJ的AC代码

2016-03-11 13:21:02

阅读数:330

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭