随笔分类 - acm / 图论
摘要:拆点 + 最大流 G - Erasing Prime Pairs (atcoder.jp) 题意 有 n(n <= 100)种互不相同的数,分别是 (<=1e7), 每个有 个 每次可以任意取两个数,如果相加是素数就消去这两个数,求最多操作次数 思路 思路一、 不考虑 1
阅读全文
摘要:DP + 最短路 + 哈希 G - String Fair (atcoder.jp) 题意 给若干个只包含小写字母的长度<=3 的字符串 ,每个字符串有权值 构造一个非空字符串 S,若 S 中包含上述子串,则加上这个子串的权值,求 S 的最大权值和 思路 由于 的长度不超过 3
阅读全文
摘要:飞行路线(分层图) JLOI2011] 飞行路线 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 最多有 k 条航线可以免费走,就让建 k + 1 层图, 表示从第 0 层起点经过 j 条免费航线到达第 i 结点,答案就是
阅读全文
摘要:Minimum Or Spanning Tree(代码源每日一题) Minimum Or Spanning Tree - 题目 - Daimayuan Online Judge 贪心,最小生成树 由于生成树的代价是各边权值的按位或,因此按位数从大到小贪心 若当前位能全用 0 边构成生成树就全用 0
阅读全文
摘要:E - Ring MST 数论,最小生成树 根据 kruskal 的原理,将边排序取最小的、可以两端点未联通的前 条边即可,但本题的边数是 级别,不能排序 只有 种操作,每种操作的代价是相同的,第 种操作是连接 与 \((x+A_i
阅读全文
摘要:2 - sat 模板 P4782 【模板】2-SAT 问题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include <iostream> #include <algorithm> #include <cstring> #include <vector> #include
阅读全文
摘要:Arbitrage 判正环 套利问题,给出若干对货币兑换的汇率,求能否通过汇率兑换使钱越来越多 floyd求最长路,如果某一点到自身的最长路大于 1, 则可以 tarjan 判正环 #include <iostream> #include <cstring> #include <algorithm>
阅读全文
摘要:仓鼠找 sugar LCA SCUACM2022集训前训练-图论 - Virtual Judge (vjudge.net) 首先要观察出一个结论:若 a - b 的路径与 c - d 的路径相交,设 a, b 的 LCA 为 x; c, d 的 LCA 为 y 则有 x 在 c - d 路径上 或
阅读全文
摘要:Cow Contest floyd求传递闭包 SCUACM2022集训前训练-图论 - Virtual Judge (vjudge.net) 若 a 大于 b,则连一条 a - > b 的边,一个点能走到的点就是比它小的点 跑一遍 floyd,就可知道任意两个点的大小关系 枚举 i, j,如果 i
阅读全文
摘要:Wormholes spfa 判负环 SCUACM2022集训前训练-图论 - Virtual Judge (vjudge.net) #include <iostream> #include <cstring> #include <algorithm> #include <vector> #incl
阅读全文
摘要:灾后重建 P1119 灾后重建 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) floyd 本题考查 floyd 算法的本质: for (int k = 1; k <= n; k++) for (int i = 1; i <= n; i++) for (int j = 1; j <
阅读全文
摘要:C - Fox And Names 拓扑排序 要自定义字典序使给出的字符串是按字典序递增的顺序 可对于前后两个字符串可找到一组字母间的关系,转化为差分约束问题 #include <iostream> #include <cstring> #include <algorithm> #include <
阅读全文
摘要:D - Substring 拓扑排序 #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <cmath> #include <queue> using namespace std
阅读全文
摘要:D - Toss a Coin to Your Graph... 二分 + 判环 + DAGDP 最大值最小化可以想到二分答案 check过程为只给小于等于答案的点之间连边,虽然 k 很大,但如果存在环则一定可以,不存在环就求当前图的最长路,如果最长路 ⇐ k - 1 则可以 判环和求最长路都可用拓
阅读全文
摘要:ACWING 368 银河 缩点 + DAG DP + 差分约束 368. 银河 - AcWing题库 tarjan 缩点 判原图中是否有正环,因为原图上所有边都是非负的**(这也是用强连通分量解差分约束的必要条件,否则若有正权边也有负权边,若环上边权总和仍为0,则并不能说明是矛盾的)**, 所以如
阅读全文
摘要:受欢迎的牛 缩点 USACO03FALL / HAOI2006] 受欢迎的牛 G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 用 tarjan 缩点后,在每个强连通分量中的点都可以互相到达。 在 DAG 中 如果有大于 1 个出口,则两个出口之间肯定不能相互到达,所以没有明星
阅读全文