![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
__Galaxy
,,,,,,,,
展开
-
noip2013day2T3华容道
这道题,写的很醉啊。。。。这种搜索的题,还带一点DP,各种bug调了好久,思路:60分做法就直接bfs乱搞,60分到手;ac套路:首先预处理出f[i][j][k]状态,对于点ij,空格在k方向就是开个【30】【30】【4】的数组,再用邻接表存下来,spfa跑一边最短路就好了,注意终点和起点是可能重合的;code:#include#include#include#i原创 2016-07-09 09:44:05 · 392 阅读 · 0 评论 -
UVA-The Largest Clique 11324
最大团,problem:给一个有向图G, 求一个节点数最大的点集, 使得该点集中的任意两个节点至少要有一条路径->那么可知, G中的SCC要么都选, 要么都不选(不选是因为这是有向图选了之后的无法纳入范围), 那么问题就简单了将每个SCC缩成一个点, 变成在DAG上DP->code:#include #include #include #include usin原创 2016-07-30 18:45:39 · 258 阅读 · 0 评论 -
POJ 3728 tarjan+DP
从这个好题我终于去学了学Tarjan, 因为发现ST毫无意义, 除了预处理, 其他还是要借鉴Tarjan; Tarjan其实很简单, 其实就是对于询问也开一个邻接表, 两个点的LCA就是: 如果在访问u的时候发现v已经访问过了, 那么LCA就是find(u) 至于这个题up, down, max, min的作用就不说了, 网上的主流代码 是个好题, 初学Tarjan一定要去搞#include原创 2016-08-18 21:06:53 · 250 阅读 · 0 评论 -
BZOJ 物流运输
一个神奇的dp,,为数不多自己搞出来的dp。。。。 其实可以发现对于这个题, 单纯的最短路乱搞是错误的 那么,,,,dp 我们可以用cost[i][j] 表示从第i天到第j天的不换路花费, 当然算的时候保证这条路在i到j天都可以走, 那么是一定存在每个时间段不存在一条从起点到终点的道路的, 那么这个时候要判断一下赋值成+oo 我们再用dp[i] 表示前i天的总花费dp[i] = min{d原创 2016-09-05 21:46:57 · 402 阅读 · 0 评论