随笔分类 -  算法题

摘要:1.查找二叉排序树: 算法思想: 首先将待查关键字key与根节点关键字t进行比较: a.如果bt->key = k, 则返回根节点指针。 b.如果bt->key < k,则进一步查找左子书。 c.如果bt->key > k,则进一步查找右子树。 使用递归算法实现。 2.jmu-ds-实现KMP: 使 阅读全文
posted @ 2022-07-09 19:29 一个小弱鸡 阅读(33) 评论(0) 推荐(0) 编辑
摘要:题目 代码 阅读全文
posted @ 2022-07-05 15:26 一个小弱鸡 阅读(13) 评论(0) 推荐(0) 编辑
摘要:. 完全背包问题 有 NN 种物品和一个容量是 VV 的背包,每种物品都有无限件可用。 第 ii 种物品的体积是 vivi,价值是 wiwi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式 第一行两个整数,N,VN,V,用空格隔开,分别表示物品种 阅读全文
posted @ 2022-04-20 15:32 一个小弱鸡 阅读(32) 评论(0) 推荐(0) 编辑
摘要:【问题描述】 小明最近迷上了积木画,有这么两种类型的积木,分别为 I 型(大小为 2 个单位面积)和 L 型(大小为 3 个单位面积): 同时,小明有一块面积大小为 2 × N 的画布,画布由 2 × N 个 1 × 1 区域构 成。小明需要用以上两种积木将画布拼满,他想知道总共有多少种不同的方式? 阅读全文
posted @ 2022-04-13 11:58 一个小弱鸡 阅读(107) 评论(0) 推荐(0) 编辑
摘要:【问题描述】 给定一个 N × M 的矩阵 A,请你统计有多少个子矩阵 (最小 1 × 1,最大 N × M) 满足子矩阵中所有数的和不超过给定的整数 K? 【输入格式】 第一行包含三个整数 N, M 和 K. 之后 N 行每行包含 M 个整数,代表矩阵 A. 【输出格式】 一个整数代表答案。 【样 阅读全文
posted @ 2022-04-12 08:21 一个小弱鸡 阅读(286) 评论(0) 推荐(0) 编辑
摘要:【问题描述】 进制规定了数字在数位上逢几进一。 X 进制是一种很神奇的进制,因为其每一数位的进制并不固定!例如说某 种 X 进制数,最低数位为二进制,第二数位为十进制,第三数位为八进制,则 X 进制数 321 转换为十进制数为 65。 现在有两个 X 进制表示的整数 A 和 B,但是其具体每一数位的 阅读全文
posted @ 2022-04-11 12:22 一个小弱鸡 阅读(193) 评论(0) 推荐(0) 编辑
摘要:【问题描述】 爱丽丝要完成一项修剪灌木的工作。 有 N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晚会修剪一棵灌 木,让灌木的高度变为 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始, 每天向右修剪一棵灌木。当修剪了最右侧的灌木后,她会调转方向,下一天开 始向左修剪灌木。直到修剪了最左的灌木后 阅读全文
posted @ 2022-04-10 08:22 一个小弱鸡 阅读(176) 评论(0) 推荐(0) 编辑
摘要:【问题描述】 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天 做 a 道题目,周六和周日每天做 b 道题目。请你帮小明计算,按照计划他将在 第几天实现做题数大于等于 n 题? 【输入格式】 输入一行包含三个整数 a, b 和 n. 【输出格式】 输出一个整数代表天数。 【样例输入】 阅读全文
posted @ 2022-04-09 22:43 一个小弱鸡 阅读(211) 评论(0) 推荐(0) 编辑
摘要:快速排序算法是一种经典的排序算法。 基本思想: 选择一个基准元素(通常选择第一个元素或者最后一个元素),通过一趟排序将待排序序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置;然后再递归地排序划分的两部分。 因此本质上快速排序是一种分治算法。 由于在排序的 阅读全文
posted @ 2022-04-02 08:02 一个小弱鸡 阅读(84) 评论(0) 推荐(0) 编辑
摘要:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。 请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 数据范围 二维数组中元素个数范围 [0,1000][0,1000] 样例 输入数组: [ [1,2,8,9], [2,4,9,12 阅读全文
posted @ 2022-03-24 15:07 一个小弱鸡 阅读(23) 评论(0) 推荐(0) 编辑
摘要:有 N种物品和一个容量是 V 的背包,每种物品都有无限件可用。 第 i 种物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行两个 阅读全文
posted @ 2022-03-22 17:51 一个小弱鸡 阅读(11) 评论(0) 推荐(0) 编辑
摘要:2.2 版本2 一维将状态f[i][j]优化到一维f[j],实际上只需要做一个等价变形。 为什么可以这样变形呢?我们定义的状态f[i][j]可以求得任意合法的i与j最优解,但题目只需要求得最终状态f[n][m],因此我们只需要一维的空间来更新状态。 (1)状态f[j]定义:NN 件物品,背包容量j下 阅读全文
posted @ 2022-03-21 17:22 一个小弱鸡 阅读(28) 评论(0) 推荐(0) 编辑
摘要:include [HTML_REMOVED]using namespace std;const int N = 1e5 + 10; int a[N],tmp[N]; void merge_sort(int q[],int l,int r){if(l>= r) return;int mid =l + 阅读全文
posted @ 2022-03-18 17:50 一个小弱鸡 阅读(19) 评论(0) 推荐(0) 编辑
摘要:贪心 本页面将简要介绍贪心算法。 简介 贪心算法(英语:greedy algorithm),是用计算机来模拟一个“贪心”的人做出决策的过程。这个人十分贪婪,每一步行动总是按某种指标选取最优的操作。而且他目光短浅,总是只看眼前,并不考虑以后可能造成的影响。 可想而知,并不是所有的时候贪心法都能获得最优 阅读全文
posted @ 2022-03-17 15:07 一个小弱鸡 阅读(81) 评论(0) 推荐(0) 编辑
摘要:工作原理 桶排序按下列步骤进行: 设置一个定量的数组当作空桶; 遍历序列,并将元素一个个放到对应的桶中; 对每个不是空的桶进行排序; 从不是空的桶里把元素再放回原来的序列中。 性质 稳定性 如果使用稳定的内层排序,并且将元素插入桶中时不改变元素间的相对顺序,那么桶排序就是一种稳定的排序算法。 由于每 阅读全文
posted @ 2022-03-15 13:20 一个小弱鸡 阅读(55) 评论(0) 推荐(0) 编辑
摘要:工作原理 排序对不相邻的记录进行比较和移动: 将待排序序列分为若干子序列(每个子序列的元素在原始数组中间距相同); 对这些子序列进行插入排序; 减小每个子序列中元素之间的间距,重复上述过程直至间距减少为 1。 性质 稳定性 希尔排序是一种不稳定的排序算法。 时间复杂度 希尔排序的最优时间复杂度为 。 阅读全文
posted @ 2022-03-14 13:20 一个小弱鸡 阅读(58) 评论(0) 推荐(0) 编辑
摘要:多重背包问题 I 有 NN 种物品和一个容量是 VV 的背包。 第 ii 种物品最多有 sisi 件,每件体积是 vivi,价值是 wiwi。 求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。 输入格式 第一行两个整数,N,VN,V,用空格隔开,分别表示物品种数 阅读全文
posted @ 2022-03-10 15:32 一个小弱鸡 阅读(30) 评论(0) 推荐(0) 编辑
摘要:题目: 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 v[i],价值是 w[i]。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。 输入格式 第一行两个整数,N,V用空格隔开,分别表示物品数量和背包容积。 接下来有  阅读全文
posted @ 2022-03-09 13:20 一个小弱鸡 阅读(21) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示