算法轻松入门
文章平均质量分 83
帮助小白轻松掌握算法的解题思路,秒杀算法题
Junieson
不放弃任何细小的疑惑,让我们一起学习
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
贪心算法(1):活动安排问题
题目 设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si<fi。如果选择了活动i,则它在半开时间区间[si ,fi )内占用资源。若区间[si ,fi )与区间[sj,fj )不相交,则称活动i与活动j是相容的。当 si ≥ fj 或 sj ≥ fi...原创 2019-05-05 16:26:26 · 4274 阅读 · 0 评论 -
算法笔记:详细总结分治法,动态规划,贪心算法以及各算法典型例题
文章目录一,三种算法的基本思想分治法动态规划贪心算法二,三种算法的对比分治与动态规划。贪心与动态规划。三,三种算法的基本题型(不断更新中。。。)分治法动态规划贪心 一,三种算法的基本思想 分治法 分治法的基本思想是将一个规模为n的问题分解为k个规模较小的问题,这些子问题互相独立且与原问题相同(所以可以递归,递归地解这些子问题,然后将各个子问题的解合并得到原问题的解。 动态规划 动态规划算法和分治法...原创 2019-05-05 15:12:48 · 1788 阅读 · 0 评论 -
动态规划(5):最长回文字串
题目 给出一个字符串S, 求S 的最长回文子串(连续)的长度。 样例 输入:PATZJUJZTACCBCC 输出:9 题解 最优子结构:如ATZJUJZTA是回文子串,那么它字串TZJUJZT一定是回文子串,且长度等于TZJUJZT的长度+2; 重复子问题:如求ATZJUJZTA和TZJUJZT的长度,都会用到JUJ的长度 状态转移公式: dp[i][j] 表示从字符A[i]到A[j]的回文串长度...原创 2019-05-04 16:44:30 · 550 阅读 · 0 评论 -
动态规划(4):最长公共子序列长度
题目 给定两个字符串(或数字序列) A 和B, 求二个字符串,使得这个字符串是A 和B 的最 长公共部分的长度(子序列可以不连续) 样例 输入 sadstory adminsorry 输出 6 题解 思路: 如果两个串的最后结尾的字符相同,其最长公共子序列长度=分别去掉结尾字符剩下的部分的最长公共子序列长度+1; 不相同,则转化为相同:在其中任意一个串上补与另一个串结尾字符相等的字符,然后转化成...原创 2019-05-04 13:36:38 · 1783 阅读 · 0 评论 -
动态规划(3):最长非递减子序列
题目 在一个数字序列中,找到一个最长的子序列(可以不连续),使得这个子序列是不下降(非 递减)的。 样例 输入 8 1 2 3 -9 3 9 0 11 输出 6 题解 最优子结构(举例):以3结尾的最长非递减字串,它包含以2结尾的最长非递减字串 重复子问题(举例):以9和以3结尾的最长非递减字串,都会会包含以2结尾的最长非递减字串; 状态转换公式: 初值 :dp[i]=1 dp[i]=max(dp...原创 2019-05-03 21:22:27 · 4744 阅读 · 0 评论 -
动态规划(2):最大连续字串和
题目 给定一个数字序列A1,A2,…, An’ 求i, j (1~ 医j~n), 使得Ai+···+Ai 最大,输出这个 最大和。 样例 输入 6 -2 11 -4 13 -5 -2 输出 20 题解 最优子结构:以13结尾的最大连续字串和一定包括,以-4结尾的最大连续字串和 与 “13”这个串的最大连续字串和(就是13本身),这两个子问题的其中一个; 重复子问题:求以13结尾的和以-5结尾的最大...原创 2019-05-03 17:25:48 · 1511 阅读 · 1 评论 -
动态规划(1):数塔问题
题目 一些数字排成数塔的形状,其中第一层有一个数字,第二层有两个数字… 第n 层有n 个数字。现在要从第一层走到第n 层,每次只能走向下一层连接的两个数字中的一个,问:最后将路径上所有数字相加后得到的和最大是多少? 样例 5 5 8 3 12 7 16 4 10 11 6 9 5 3 9 4 题解 最优子结构:从5开始到结尾的最大和一定包含从8或者从3到结尾的最大和 重叠子问题:求8到结尾的,和...原创 2019-05-03 16:21:05 · 3574 阅读 · 0 评论 -
详解编辑距离问题(动态规划)
问题描述: 对于序列S和T, 它们之间的距离定义为: 对二者其一进行几次以下操作: 1, 删除一个字符; 2, 插入一个字符; 3, 改变一个字符. 每进行一次操作, 计数增加1. 将S和T变为相等序列的最小计数就是两者的编辑距离(edit distance)或者叫相似度. 请给出相应算法及其实现. 分析: 最优解的结构分析 假设序列S和T的长度分别为m和n, 两者的编辑距离表示为edit[m][...原创 2019-04-09 22:00:03 · 1781 阅读 · 0 评论 -
详解拦截导弹问题(动态规划)
题目 拦截导弹 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹,拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此不可能拦截所有的导弹。输入----导弹依次飞来的高度,不大于 30000 的正整数 389 207 155 300 299 170 158 ...原创 2019-04-07 18:50:08 · 21067 阅读 · 9 评论 -
详解动态规划石子合并问题(直线型, 环形)
题目描述 在一个圆形操场的四周摆放N堆石子,现要将石子有次序地合并成一堆.规定每次只能选相邻的2堆合并成新的一堆,合并的花费为这相邻两堆之和 试设计出1个算法,计算出将N堆石子合并成1堆的最小花费和最大花费. 输入输出格式 输入格式: 数据的第1行试正整数N,1≤N≤100,表示有N堆石子.第2行有N个数,分别表示每堆石子的个数. 输入示例 4 4 4 5 9 输出示例 43 54 算法分析 动态...原创 2019-04-05 10:39:34 · 7127 阅读 · 2 评论
分享