摘要: 我们先来看分组背包问题 有N件物品和一个容量为V的背包,第i件物品的重量为c[i],价值为w[i],这些物品被划分成了若干组,每组中的物品互相冲突,最多选一件 问将哪些物品放入背包中可以使背包获得最大的价值 我们用f[k][v]表示前k种物品花费费用v所能取得的最大价值 给出状态转移方程: 可以看出 阅读全文
posted @ 2018-07-14 10:28 静听风吟。 阅读(2998) 评论(0) 推荐(0) 编辑
摘要: 顾名思义,二维费用的背包中的每种物品有两种费用 设f[i][v][u]表示前i件物品付出两种代价分别为v和u时可获得的最大价值 那么我们很容易给出状态转移方程,加一维状态即可 在这里,如果每种物品只可以取一次采用类似于01背包滚动数组的循环方式,即逆序循环 如果每种物品可以取无数次采用完全背包滚动数 阅读全文
posted @ 2018-07-14 10:09 静听风吟。 阅读(965) 评论(0) 推荐(0) 编辑
摘要: 我们首先来介绍一下多重背包是什么 可以这样理解:01背包≤多重背包≤完全背包 01背包每种物品最多选一件 完全背包每种物品可以选无数件,但受限制于背包的容量 多重背包每种物品可以选的件数是给出的,同样也受限制于背包的容量 多重背包在实现的时候可以进行二进制优化,大致思路是放多件的情况可以进行拆分成几 阅读全文
posted @ 2018-07-14 10:03 静听风吟。 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 有N种物品和一个容量为V的背包,每种物品的数量无限,第i种物品的重量为c[i],价值为w[i],将若干件物品装入背包,求背包所放物品的最大价值 这时每种物品都有取0件,取1件,取2件等若干种情况 采用朴素的实现方式是类比01背包的状态转移方程,我们给出这样的形式,我们令f[i][v]表示前i件物品恰 阅读全文
posted @ 2018-07-14 09:54 静听风吟。 阅读(696) 评论(0) 推荐(0) 编辑
摘要: 有N件物品和一个容量为C的背包,第i件物品的费用是c[i],价值是w[i],求将若干件物品放入背包所能够获得的最大价值。 每种物品只有一件,可以选择放或者是不放 使用f(i,v)表示前i件物品恰好放入一个容量为v的背包所能获得的最大价值 状态转移方程: 时间复杂度为O(N*V),空间复杂度可以优化为 阅读全文
posted @ 2018-07-14 09:39 静听风吟。 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 题目中的严格二字,表示的意思是不允许≥或者是≤的情况出现,只允许>的情况以及<的情况 经典问题是NOIP合唱队形,在这个题目中,既求了最长上升子序列,也求了最长下降子序列 其最终的结果由两个子序列的结果共同得来 我们给出实现方法: for(int i=1;i<=n;i++) for(int j=i- 阅读全文
posted @ 2018-07-13 16:52 静听风吟。 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 解决这个问题,采用前缀和平扫的时间复杂度为O(n^2),本文分治法的时间复杂度为O(n*log*(n)) 前缀和平扫首先对n个数做前缀和,接下来利用前缀和枚举每一个区间即可 分治法的代码实现如下: 具体实现原理将在后续补充。 阅读全文
posted @ 2018-07-13 16:46 静听风吟。 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 现给出这个定义,什么是逆序对,NOIP火柴排队这个题是逆序对的一个比较好的例题,这里我们只讨论求逆序对的一些高效的算法 一般有归并排序以及树状数组两种方法,本文只讨论归并排序求逆序对 这里不给出原理只给出实现,注意下面这一句 把这句话加在归并排序的合并过程中即可,下面给出实现代码: 关于归并排序的代 阅读全文
posted @ 2018-07-13 16:43 静听风吟。 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 为什么本文的标题要强调十进制形式呢?因为还有万进制的高精度,比十进制要快很多 那我们直接掌握万进制不就好了嘛。。其实不然,十进制高精度的实现是最直接的对加减乘除的模拟,并且其中的实现方法也是值得去借鉴的 这里在刘汝佳代码的基础上进行了一定的改进,经过了若干次测试形成了稳定版本,在对效率要求比较高的情 阅读全文
posted @ 2018-07-13 16:38 静听风吟。 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 这三种排序虽然用处不多,并且效率不高,但是它们都是稳定的排序算法,并且容易混淆,这里给出实现代码帮助读者区分 首先是插入排序 插入排序的实现思路真的就是把当前元素插入到对应自己大小的位置上,然后比它大的这些元素都往后挪动一位,但是写的时候要注意对下标的控制,否则容易出错 然后是选择排序 选择排序有两 阅读全文
posted @ 2018-07-13 16:27 静听风吟。 阅读(276) 评论(0) 推荐(0) 编辑