姬小野的博客

博呀博呀博呀客

简要题解-图论-搜索-并查集-dp-树形-拓扑-tarjan等等

[USACO09NOV]找工就业Job Hunt [图论,spfa,最长路] attentions:对我而言非常好的一道题!最长路! 有几个点 1、这道题转化成最长路来求解,方法和最短路类似 2、但这道题是点有正权且只有负权边,且路径为单向!那么精妙之处在于,可以将点权转化为边权!!! ...

2018-09-16 10:18:02

阅读数:40

评论数:0

P1119 灾后重建-省选floyd!!!

P1119 灾后重建 题目背景 BBB地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响。但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车。换句话说,只有连接着两个重建完成的村庄的公路才能通车,只能到达重建完成的村庄。 题目描述 给出BBB地区的村庄数...

2018-09-15 17:51:40

阅读数:25

评论数:0

环形石子合并问题

环形石子合并问题是在普通的相邻石子合并问题的基础上稍加拓展,石子变成了环形的,也就是说每个石子都可能和其左右两边的石子合并。 那么它的dp解法也是基于普通的相邻石子合并问题,不了解的同学可以参考我写过的这篇文章。 有两种解法,但他们基本的算法思想是一样的。 第一种是和上面链接文章的写法类...

2018-09-08 22:47:23

阅读数:63

评论数:0

矩阵链乘法—DP

矩阵链乘法是这样的问题: 给定n个矩阵:A1,A2,…,An,其中Ai与Ai+1是可乘的,i=1,2…,n-1。确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。输入数据为矩阵个数和每个矩阵规模,输出结果为计算矩阵连乘积的计算次序和最少数乘次数。 我们称有如下...

2018-09-08 20:42:16

阅读数:64

评论数:0

CCF 201312-4 有趣的数_数位DP

CCF 201312-4 有趣的数 传送门 这道题似乎就是所谓数位DP, 如果没有接触过这一类题目, 真的是很难会想出完整的方法, 毕竟有6个状态, 然后在状态之间进行递推. 我们定义六种状态, s0-s5, 对每个长度的状态我们都从其他可能推过来的状态推过来. 为什么是六种? 这六种状态是...

2018-08-14 00:22:25

阅读数:22

评论数:0

Tarjan算法缩点+DAG最长路(DP)

第一个问题: Tarjan算法找出一个图里面的全部强连通分量(包括单独的点). 第二个问题: 对每个强连通分量进行缩点, 使得此图变成一张DAG. 第三个问题: 如何快速获得新图各个结点的入度出度. 第四个问题: 缩点之后求解DAG最长路 我们按照复杂程度来讨论不同的Tarja...

2018-08-13 18:20:49

阅读数:91

评论数:0

CCF 201612-4 压缩编码_石子合并问题_DP

201612-4 压缩编码 传送门 想了很久, 还是没有独立做出来. 虽然从问题中抽象出来了是一个什么样的问题. 下面是自己想的思路 如果这棵树一定要保持叶子节点字典序递增的话,前序遍历的顺序就是字典序. 那么一个结点(按顺序输入的),只能和相邻的结点合并. 合并n - 1次之后...

2018-08-07 19:25:20

阅读数:40

评论数:0

DP_DAG最长路径_关键路径

DAG最长路 DAG最长路径 以i为终点的最长路径 DAG最长路 DAG指的是有向无环图, 求它的最长路径有一种DP方法. 我们建立一个数组dp[n+1], dp[i]代表从这个结点出发的最长路径, 那么要求出dp[i], 我们只要求出从i出发的下一结点的dp[j], ...

2018-07-12 09:53:45

阅读数:107

评论数:0

DP_最长公共子序列

最长公共子序列也是简单的DP问题, 问题描述是: 对两个字符串, 求他们的最长公共子序列的长度, 所谓公共子序列可以不连续. 如”sadstory” 和 “adminsorry”, 所长公共子序列为adsory. 长度为6 分析这道题, 用到经典的二维DP思想, 把大问题化解为子问题....

2018-07-11 09:38:40

阅读数:10

评论数:0

DP_最长回文子串

DP问题, 最长回文子串 最长回文子串问题指的是在一个字符串中, 是回文子串的长度的最大值. 这里的回文子串是连续的. 如字符串”PATZJUJZTACCBCC”, 他的最长回文子串是”ATZJUJZTA”, 长度为9, 当然它还有其他回文子串如”CCBCC”, 但是长度不够长. 这类问题...

2018-07-11 09:18:48

阅读数:19

评论数:0

DP_最长不下降子序列(LIS)

序言 同类的问题还有“最长上升子序列”, “最长下降子序列”, … 他们的不同就在于定义的core规则不同, 有的是>=, 有的是>, 有的是< 由此启发, 我们可以在解决其他的问题, 不一定是比较数的...

2018-07-11 08:39:59

阅读数:152

评论数:0

暑假编程训练_数塔取数

数塔取数 这是一道入门的动态规划题, 没做过的可能很难想出, 但是做过的会觉得很简单. 这道题相比最基础的数塔取数多了一个求路径. 只要记录所继承的下一层数的下标. 最后从头开始走过这些下标就是路径了. 时间复杂度是O(n), n为数塔的数的个数. #include &...

2018-07-09 16:04:15

阅读数:22

评论数:0

DP动态规划_01背包问题

动态规划是一种思想, 因为很违背直觉, 所以初学时理解起来很困难, 和递归一样, 都是比较奇妙的思想. 01背包问题是各类背包问题(见背包九讲)中最简单的一种模型, 但是理解它也花了我很多时间. 网上和各种算法书籍都有关于背包问题的讲解. 刚做了两道基础的01背包问题, 遇到了几个问题, 也...

2018-02-11 23:56:49

阅读数:36

评论数:0

最大子段和_三种方法

今天参加了一场洛谷网的比赛, 深受打击. 寒假过了这么多天, 一直没有认真学习算法, 以至于现在的水平比两个月前还要低. 本来就没有多少底子, 又退步了许多, 感慨万分. 在洛谷上看到这么一道题 最大子段和 如果数据小的话, 用暴力枚举很简单就可以做出来了, 时间按复杂度位O(n^3) ...

2018-02-09 20:36:11

阅读数:120

评论数:0

方块与收纳盒_走楼梯

题目描述 现在有一个大小n*1的收纳盒,我们手里有无数个大小为1*1和2*1的小方块,我们需要用这些方块填满收纳盒,请问我们有多少种不同的方法填满这个收纳盒   输入描述: 第一行是样例数T 第2到2+T-1行每行有一个整数n(n<=80),描...

2018-01-23 18:33:23

阅读数:36

评论数:0

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