![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 58
fakesheep
这个作者很懒,什么都没留下…
展开
-
Dijkstra算法优先队列实现/邻接矩阵+邻接表
涉及知识点:结构体,构造函数,operator操作符,优先队列使用基本思路和上一篇的区别:上一篇是通过两个for循环的查表操作实现遍历,而创建了优先队列则是把新预选的源点一个个放进集合Q内,通过operator自定义了一个将总步数最小的源点排在前面的优先队列,使得每次弹出的源点都是最小值。#include <queue>#include <iostream>#include <cstring>#include <windows.h>using n原创 2021-04-24 14:00:08 · 491 阅读 · 0 评论 -
简单拓扑dp
题目描述:小明在一张拓扑图上,他所在的起始位置被标记为0。除了起始位置外,还有被1到n这n个整数所标记的n个顶点,每个顶点i都有一个正整数值xi。这些顶点之间存在着m条有向边。题目保证图中不存在环,且从顶点0出发必定能到达顶点n。小明希望从起点0出发经过某条路径到达顶点n,并且收集经过的所有结点上的数字,使得所有数字的和最大。现在请你帮小明求出他能得到的最大数字和是多少。(某高校校赛,为了不被校友发现略改了一下)先进行状态分析。每个点有三个状态,每个状态对应一个数组:1.x[i]:这个点对原创 2021-03-26 20:09:35 · 313 阅读 · 0 评论 -
浅显易懂的DP最长递增子序列
原文思路来自知乎,刚学DP的小白按照作者的思路打了一份代码,见:动态规划的本质我们先从一个情景开始:假设小明有n本书放在一个大柜子里,每本书上都有编号,称为书籍编号,而它的放置顺序为顺序编号。有一天妈妈看到小明书柜里的书书籍编号都是乱的,让他将编号按从大到小的顺序整理好。但是小明想偷个懒,他想只整理一次,就将最多的书籍整理出来。于是小明拿来另一个小柜子,目的是从大柜子里的书按照他们的顺序编号一本一本拿出来,使他们的书籍编号按递增顺序。设其中i为前几次把书抽出来, j为小柜子放进了多少本书,原创 2021-03-22 19:34:43 · 135 阅读 · 0 评论