随笔分类 - 搜索
摘要:K. Tax 题目大意 n个点,m条边,无相连通图。 边有两种属性:其类型c,边权为1 1到达i的最短路中,经过类型为$c_i$的边需要付出的代价为$cnt_{c_i}*w_i$。 需要我们求出到达每个点付出的最小代价。 分析 首先,我们肯定是要求出最短路的。 然后,接下来我们可以发现。如果我们想求
阅读全文
摘要:P3956 [NOIP2017 普及组] 棋盘 分析 首先说可以用dfs写,但是不建议。 本题的主流算法( dfs +记忆化优化),其实从最短路的角度上来讲是基于 dfs 实现的 SPFA (没错,就是那个死了又活了的SPFA),如果这一题数据范围扩大,并且做一些特殊构造,是可以被卡掉的。 而且这数
阅读全文
摘要:万圣节后的早晨 分析 这题的关键在于奇妙的建图操作。 由四个格子中至少有一个障碍物和格子联通和障碍物也各自联通 因此,我们可以将空格单独提取出来,并且预处理出来所有的空格可以到的所有点。 这样就减少了状态空间,并且减少了每一次搜索的状态转移次数。 当然实现的方法很多,从最普通的BFS,到双向广搜,以
阅读全文
摘要:P1606 [USACO07FEB]Lilypad Pond G 分析 这题初看,就能想到是求最短路计数。但是坑很多,所以我们换一个角度,我会首先将我的错误思路说一遍,再从中分析错误点,最后给出正解。 (我看到的时候,就觉得很简单,还好奇为什么是紫题,-_-,属实是小丑了) 错解 我们用dist[i
阅读全文
摘要:原题链接 分析 首先,我们可通过DFS处理出来,在沿着a数组给的顺序走时,每条边都经过了多少次。我们假设第i条边被经过的次数为$c_i$次,则问题可以转化为,从$c_1,c_2...c_{n-1}$中,分成两部分,使得一部分构成R,一部分构成B,从而使得R-B=K?我们设S=\(c_1+c_2+..
阅读全文
摘要:小A与小B 噩梦 分析 一些闲话 这里给自己提个醒,看一个题目时,如果只是听人讲明白了,或者看题解看明白了。那隔一段时间后一定要再重新写写,不然就可能像这次,噩梦与小A与小B一样,但有一些细节,当时写噩梦的时候根本没有记在心里。 这次就着重说一下这两道题解决时的共同点。 解决的都是,两个人在迷宫中相
阅读全文
摘要:原题链接 分析 知识点 拆点图 思路分析 从原题中,我们要求的是从最上角走到最下角的最小步数。 但是此时加了一些限制,想通过门,需要相应的钥匙才能通过 那么相同下标的点,可能就因为此时是否有对应钥匙而变得不同。 这就提示我们,可以用拆点的方法,来把相同的下标的点,根据不同的状态分开,就是拆点。 此时
阅读全文

浙公网安备 33010602011771号