随笔分类 - 经典算法
博主遇到的一些经典算法题目
摘要:一.递归分治的基本概念 递归的概念:直接或间接的调用自身的算法称为递归算法.用函数自身给出定义的函数成为递归函数. 分治法的思想:将一个难以直接解决的大问题分割成一些规模较小的相同问题,以便各个击破,即分而治之. 如果原问题可分割成k个子问题, 1<k<=n, 且这些子问题都可解,并可利用这些子问题
阅读全文
摘要:一.题目描述 背包问题:已知有n种物品和一个可容纳C重量的背包,每种物品i的重量为Wi。假定将物品i的一部分Xi放入背包就会得到Pi的效益,这里,0≤Xi≤1,Pi>0。那么,采用怎样的装包方法才会使装入背包物品的总效益最大呢?其形式化描述为: Max 约束条件: <=C, 其中, 0≤x≤1, p
阅读全文
摘要:一.题目描述 设有m种加工用的机器:M1, M2, …, Mm 所谓同顺序流水作业是指它的加工顺序是相同的,不妨为M1 → M2 →… → Mm 即先通过M1加工,然后依次为M2 ,等等。 现有n项任务.其加工顺序一样,设为: J1, J2, …, Jn 已知矩阵 T=(tij)m*n 其中 tij
阅读全文
摘要:B卷: 1.求最大的数和最小的数 题目描述: 数学课上,老师给你一些列的数,让你编程求出最大的数和最小的数? 输入: 第一行是数的个数n,第二行是n个数,中间有空格间隔。 输出: 输出占一行,先是最小的数,然后是最大数,中间有一个空格。 样例输入: 4 11 22 55 999 样例输出: 11 9
阅读全文
摘要:说在前面: 由于此次考试,不知道是哪位信安的大哥把学校的OJ平台给黑掉了,导致我们100来人同时登陆不上OJ,考试被迫终止半小时.但是由于少部分同学刚开始登录上去了一小会,看到了题目(比如我),所以为了公平起见,学校重新换了一套题. 下面我把两套题以及相应题解放在下面,供大家学习参考! A卷: 1.
阅读全文
摘要:一.题目描述 多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。 游戏第1步,将一条边删除。 随后n-1步按以下方式操作: (1)选择一条边E以及由E连接着的2个顶点V1和V2; (2)用一
阅读全文
摘要:一.题目描述 数字化图像是n*n的像素阵列. 假定每个像素有一个0~255的灰度值, 因此存储一个像素至多需8位. 为了减少存储空间, 采用变长模式, 即不同像素用不同位数来存储, 步骤如下: 图像线性化:将nn维图像转换为1n2向量 {p1,p2,...pn^2} 分段: 将像素分成连续的m段s1
阅读全文
摘要:动态规划 例题5.凸多边形最优三角剖分问题 一.题目描述 通常,用多边形顶点的序列来表示一个凸多边形,即P=<v0 ,v1 ,… ,vn-1>表示具有n条边v0v1,v1v2,… ,vn-1vn的一个凸多边形,其中,约定v0 = vn 。 若vi与vj是多边形上不相邻的两个顶点,则线段vivj称为多
阅读全文
摘要:本题与力扣面试题 17.24. 最大子矩阵相同. 一.问题描述 给定一个正整数、负整数和 0 组成的 N × M 矩阵,编写代码找出元素总和最大的子矩阵。 返回一个数组 [r1, c1, r2, c2],其中 r1, c1 分别代表子矩阵左上角的行号和列号,r2, c2 分别代表右下角的行号和列号。
阅读全文
摘要:本题与力扣主站53题 最大子序和相同. 一.问题描述 给定n个整数(可能有负数)组成的序列a1,a2,…an, 求子段和ai+ai+1+…+aj的最大值。 当所有整数均小于零时,定义其子段和为0。 最大值为max{0, maxΣak} 例:(-2, 11, -4, 13, -5, -2)的最大子段和
阅读全文
摘要:动态规划 例题2.最长公共子序列问题 本题与力扣主站1143题相同. 一.问题描述 一个给定序列的子序列是在该序列中删去若干元素后得到的序列。 确切地说,若给定序列X=<x1, x2,…, xm>,则另一序列Z=<z1, z2,…, zk>是X的子序列是指存在一个严格递增的下标序列 <i1, i2,
阅读全文
摘要:动态规划 例题1.矩阵连乘问题 一.问题描述 矩阵A和B可乘的条件是矩阵A的列数等于矩阵B的行数.若A是一个p×q的矩阵,B是一个q×r的矩阵,则其乘积C=AB是一个p×r的矩阵.其标准计算公式为: 计算C=AB总共需要pqr次的数乘. 给定n个矩阵{A1,A2,…,An}.其中Ai与Ai+1是可乘
阅读全文
摘要:
动态规划 算法思想介绍 一.动态规划的基本概念 动态规划在五种算法设计方法中难度最大,它建立在最优原则的基础上.采用动态规划方法,可以高效地解决许多用贪婪算法或分治法无法解决的问题.动态规划(dynamic programming)属运筹学中的规划论分支,是求解决策过程最优化的数学方法.20世纪50
阅读全文

摘要:尼姆博弈: 博主之所以要写这么一篇题解,是因为在算法课上做过的一道题.解题代码非常简单,但是博主愣是想了两天还没想明白其中的原理,直到今天才终于恍然大悟,特此记录下来分享给大家.看完了,想必你一定会懂! 题目如下: 题目描述 Here is a simple game. In this game,
阅读全文