随笔分类 -  动态规划

摘要:传送门floyd插点。(看起来难实际很简单)给你一个有向多重图(就是可能会有重边和自环,对应简单图),会标记一些点,然后再询问给定两点的最短路,要求该最短路上经过的点都是被标记过的(必然包括起点终点)。权值都为正,看样例,发现当起点终点相同时最短路必然是0(... 阅读全文
posted @ 2019-04-13 23:01 CrossingOver 阅读(88) 评论(0) 推荐(0)
摘要:传送门dfs回溯搜索。(哈密顿回路 / TSP问题)给一个无向图,给定起点,再给几个商店(最多10个),要求找一条从起点出发、经过所有商店、再回到起点的最短路。因为商店数量很少,肯定是搜索了。可以用dfs,也可以用状压dp?(不太懂,没试,像这个一样?)需要... 阅读全文
posted @ 2019-04-13 21:47 CrossingOver 阅读(108) 评论(0) 推荐(0)
摘要:传送门01背包。预先求解一下最短路+求至少装一半以上(不包含一半)的最小价值。给你一个无向图,每件物品的价值是起点到这个点的最短路值,每个物品的重量是这个点的能量值,注意,这道题所说的是坦克一直停在那个点才占有那个点的能量值,不是一辆坦克走一圈。。。所以这就... 阅读全文
posted @ 2019-04-12 23:03 CrossingOver 阅读(113) 评论(0) 推荐(0)
摘要:传送门[0,1]区间乘积最长路。和这个类似,不过这道题没有大于1的边,所以没有“负环”(在一个环上走不会越来越大)。这道题已经给了邻接矩阵(所以连初始化都不用了),按有向图算,不连通的边都给了0。所以最后查询的时候还是0就意味着不连通。这道题用不着考虑flo... 阅读全文
posted @ 2019-04-11 22:49 CrossingOver 阅读(135) 评论(0) 推荐(0)
摘要:传送门dfs记忆化搜索、动态规划。是中文题,但是题意没说清楚,反正把我恶心到了。你是真的牛批。两个地方没说清楚。实际上每到一条路径终点之后就清除身上携带的能量值(若没用完),然后再加上这个路径终点的能量值。若按我理解的那样,则每个点的状态要用三维数组表示,其... 阅读全文
posted @ 2019-04-11 21:08 CrossingOver 阅读(121) 评论(0) 推荐(0)
摘要:传送门最短路+记忆化搜索。一个无向图,问你从起点到终点有多少条这样的路,该路径包含的边a->b都满足至少存在一条b到终点的路比所有a到终点的路都要短。这道题中path指边,route指路径。这道题比较良心,说了权值都为正。首先这个条件等价于b到终点的最短路小... 阅读全文
posted @ 2019-04-11 00:40 CrossingOver 阅读(112) 评论(0) 推荐(0)
摘要:传送门状压dp+最短路。一个无向图,接下来给出一些兴趣点,每个兴趣点被访问时有一定耗时。找一条从起点开始访问所有兴趣点再回到起点耗时最短的路(必须访问所有兴趣点,途中可以经过任意点(经过任意点包括兴趣点都不耗时),全程总耗时包括访问兴趣点和途经所有边)。每个... 阅读全文
posted @ 2019-04-10 02:24 CrossingOver 阅读(74) 评论(0) 推荐(0)
摘要:传送门次短路条数。一个有向图,给定起点终点,问你次短路条数,保证有次短路,保证没有环路。按理说这道题没什么可说的,但是,这道题有一个很大的坑,就是会有权值为零的边。这是我看了这道题的Discuss才知道的,感谢。求条数的问题对零环敏感,这我们知道,但是这道题... 阅读全文
posted @ 2019-04-09 20:09 CrossingOver 阅读(297) 评论(0) 推荐(0)
摘要:传送门求次短路。给一个有向图,给定起点终点,求最短路条数和只比最短路的值大1的路径的条数之和。这道题就是用普通的次短路求解就行了,求出来的次短路如果正好比最短路大1,那么就存在这道题中所谓的“大1次短路”;如果不是则就没有。这道题比较人性化,说了几个关键信息... 阅读全文
posted @ 2019-04-08 21:38 CrossingOver 阅读(133) 评论(0) 推荐(0)
摘要:传送门求两条最短路最多重叠的点数。给一个无向图,再给两对起点终点,每一对起点终点之间都可能有多条最短的路,设s1和t1的最短路是r1,s2和t2的最短路是r2,求r1和r2最多能相互重叠多少个点。这道题思想很巧妙,涉及了dp的思想。首先想明白一个问题,两条最... 阅读全文
posted @ 2019-04-03 22:57 CrossingOver 阅读(185) 评论(0) 推荐(0)
摘要:传送门floyd求最小环(正环)问题。注意和HDU 1217的区别。这个题就是套路固定这么做的,这个题和负环完全没有一点关系。是个中文题,题意就没啥可说了,这个题是个无向图,求一个至少有三个点的环,这个环在全图所有至少有三个点的环中长度最小(所谓环的长度就是... 阅读全文
posted @ 2019-04-01 20:27 CrossingOver 阅读(201) 评论(0) 推荐(0)
摘要:传送门01背包,没有任何变形,模板题。#include #include #include #include #include #include using namespace std; // 01背包 最基础const int MAX = 1001;i... 阅读全文
posted @ 2019-04-01 00:03 CrossingOver 阅读(129) 评论(0) 推荐(0)
摘要:传送门完全背包。求最小价值(恰好装满)。有一个存钱罐,里面有很多个硬币,硬币分为很多种类,每种有各自的重量和价值。现在给你每种硬币的信息,和这个存钱罐存的重量,让你猜测里面硬币的最小价值。这个题让求最小价值,所以肯定是必须装满了(结合这个题意也必须是重量恰好... 阅读全文
posted @ 2019-03-31 22:36 CrossingOver 阅读(109) 评论(0) 推荐(0)
摘要:传送门分组背包,需要根据题意稍微转化一下。题中说最多学习课程M天,可视为背包容量;给的矩阵中的每列代表学习花费j天(不是第j天),所以同一行中每列都是互斥的,不能选择超过一个,所以每门课程(每一行)可视为一组,每组内物品最多只能选择一个;另外,这道题中的物品... 阅读全文
posted @ 2019-03-31 21:28 CrossingOver 阅读(168) 评论(0) 推荐(0)
摘要:传送门最短路判负环问题。货币交换,通过其他货币汇率相乘最后绕回自己可能会多赚一点。问你所有货币中是不是至少有一种能这样获利。首先,这道题需要判定有没有这样的环(这个环每个边的乘积大于1.0),而且是全图判定,没有什么起点终点。想到大于我们可以知道,这道题需要... 阅读全文
posted @ 2019-03-29 02:09 CrossingOver 阅读(140) 评论(0) 推荐(0)
摘要:传送门属于动态规划。TSP(旅行商)问题的简化版本,双调旅行商问题。时间复杂度O(n^2)。可以参考这个。给你平面上n个点的坐标,这些点的x坐标依次增大,让你找一条满足这样的性质的最短的路:从1出发,沿着x增大的方向走到n,再沿着x减小的方向走回1,在这途中... 阅读全文
posted @ 2019-03-26 17:08 CrossingOver 阅读(133) 评论(0) 推荐(0)
摘要:传送门最短路。涉及到了把求最长路转化为求最短路,还有bellman_ford判断负环(可从起点到,也应可到终点的负环)的问题。这道题比较综合。有最多100个房间,其中有一个是起点有一个是终点,每个房间都有一个能量值([-100,100]),单向的门(有向图)... 阅读全文
posted @ 2019-03-24 14:09 CrossingOver 阅读(142) 评论(0) 推荐(0)
摘要:题意给定K个数的序列,求其最大子串和(连续),并输出最大子串的首尾元素(不是下标)。注意以下标i为尾的最大子串的选择只有两种本身(元素a[i]本身)下标i-1为尾的最大子串(若存在)加上本身。如何证明?其实就是最优性原理。首先子串必然是连续的,设以下标i-1... 阅读全文
posted @ 2017-02-11 00:55 CrossingOver 阅读(115) 评论(0) 推荐(0)