随笔分类 -  最短路.最小生成树

摘要:题目链接:https://codeforces.com/contest/1450/problem/E 题解: 题目中的等式关系为 auav=1|auav|=1 首先,等式关系不好处理,考虑化成不等式 第一种:auav1 且 $a_v-a_u\leq -1 阅读全文
posted @ 2023-06-24 16:35 SkyRainWind 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P5304 题解: 给一张图和一个点集 V,问点集内两两最短路的最小值 考虑将集合进行若干次划分: 每次对于一个二进制位 i,如果 Vi 该位为 1 ,那么就划到第一个集合,否则划到第二个集合 然后求第一个 阅读全文
posted @ 2023-02-27 16:31 SkyRainWind 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/contest/1693 这场的题都非常好啊…… 因为现在是从 div1 开始做了,所以可能刚开始会有点吃力(这场我就会做一个 1B 呜呜呜) 1A 先把后缀的极长 0 段删去 考虑对于每一个 右移 操作,首先必然和一个 左移 操作一一对应(最 阅读全文
posted @ 2023-02-08 11:30 SkyRainWind 阅读(23) 评论(0) 推荐(0) 编辑
摘要:bitset:一个01位如果用bool存的话需要 1byte,而用bitset只需要 1bit(=1/8 byte) 每次两个集合取并的时候可以除以一个大常数(32/64),从而优化复杂度 LOJ515 设 dp[i] 表示考虑到第 i 个区间,能形成的和的状态是0/1(该位为1代表可以出现 阅读全文
posted @ 2023-02-01 22:07 SkyRainWind 阅读(15) 评论(0) 推荐(0) 编辑
摘要:比赛链接:https://atcoder.jp/contests/abc281 题解: D dp[i][j][k] 表示考虑到第 i 个数,集合加入了 k 个数,余数为 j 的答案 转移即可 // by SkyRainWind #include <cstdio> #include <ve 阅读全文
posted @ 2022-12-14 11:12 SkyRainWind 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://codeforces.com/problemset/problem/325/C 题解: 先建出来图,每条边连接一个点(起始的怪物)和一堆点(能爆出来的怪物) 先考虑min的情况,考虑反着跑最短路(从只能爆出钻石的怪物开跑),发现如果一个怪物能由其爆出来的怪物更新的话,爆出来 阅读全文
posted @ 2022-11-27 23:15 SkyRainWind 阅读(50) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P2046 首先观察可以发现最优解一定是左上部分是全0,右下是全1这样的形式 然后题目就相当于让我们求一个 (1,1)(n+1,n+1) 的最小割 由于这是网格图(属于平面图)。平面图最小割 = 阅读全文
posted @ 2022-11-22 19:34 SkyRainWind 阅读(20) 评论(0) 推荐(0) 编辑
摘要:概括:边权为0/1的图求最短路,常见于网格图的bfs。本质是特殊的dijkstra,因为边权只有0/1,不再需要优先队列维护 Luogu4667 注意需要维护的是格点的坐标和格子的坐标,然后边权如果为0(不换)就push_front,如果为1(换)就push_back // by SkyRainWi 阅读全文
posted @ 2022-11-01 20:48 SkyRainWind 阅读(85) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示