摘要: A. 【例题1】消除格子 对每行和每列建点,如果一个格子有杂物,那么给对应的行和列连边,答案即该二分图的最小点覆盖,等于最大匹配。 由于边是单向的,所以列编号不 \(+n\) 问题也不大。 #include <iostream> #define N 505 int n,m,vis[N],link[N 阅读全文
posted @ 2025-06-10 15:14 整齐的艾萨克 阅读(14) 评论(0) 推荐(0)
摘要: 省流:1596 阅读全文
posted @ 2025-05-31 22:31 整齐的艾萨克 阅读(94) 评论(0) 推荐(1)
摘要: 金牌导航 「动态规划」 「动态规划」第1章 期望概率 DP 「动态规划」第2章 数据结构优化 DP 「动态规划」第4章 单调队列优化 DP 「动态规划」第5章 斜率优化 DP 「动态规划」第6章 动态 DP 「字符串算法」 「字符串算法」第1章 Manacher 「字符串算法」第2章 后缀数组 「图 阅读全文
posted @ 2025-05-28 14:30 整齐的艾萨克 阅读(19) 评论(0) 推荐(0)
摘要: 这是 neatisaac 的金牌导航题解! 我不要写 SA 还没写完。感觉 SA 的板子还是没有学明白。 A. 【例题1】不可重叠串 看似不是板子,和题解不一样,实际上差分一下就好了。 二分判定是否存在长度为 \(mid\) 的相似子串,如果存在后缀 \(i\) \(j\),使得 \(\min_{i 阅读全文
posted @ 2025-05-28 14:22 整齐的艾萨克 阅读(26) 评论(0) 推荐(0)
摘要: 这是 neatisaac 的金牌导航题解! 为方便处理,下文代码中的字符串(如abc)都转换为形如 %#a#b#c#&的字符串,题解中不变。 A. 【例题1】不交回文串 求出每个位置的回文半径之后,利用差分求出以每个位置为开头和结尾的回文串数量,扫一遍求出两个回文串一个在 \(i\) 前面一个在 \ 阅读全文
posted @ 2025-05-27 15:15 整齐的艾萨克 阅读(31) 评论(0) 推荐(0)
摘要: 这是 neatisaac 的金牌导航题解! A. 【例题1】最大子段和 DDP 板子。 令 \(f_i\) 表示以 \(i\) 结尾的最大子段和,\(g_i\) 表示前 \(i\) 个数的最大子段和,有: \[\large f_i=\max(f_{i-1}+a_i,a_i) \\\large g_i 阅读全文
posted @ 2025-05-13 09:15 整齐的艾萨克 阅读(8) 评论(0) 推荐(0)
摘要: 这是neatisaac的金牌导航题解! A. 【例题1】滑动窗口 略。 #include <iostream> #define N 1000005 int n,k,a[N],q[N]; int main() { std::ios::sync_with_stdio(0); std::cin.tie(0 阅读全文
posted @ 2025-05-12 15:18 整齐的艾萨克 阅读(6) 评论(0) 推荐(0)
摘要: ABC 405 阅读全文
posted @ 2025-05-10 22:57 整齐的艾萨克 阅读(209) 评论(2) 推荐(1)
摘要: 这是 neatisaac 的金牌导航题解! 提示:部分代码中存在细节问题,不影响通过,但可能影响理解。 A. 【例题1】任务安排1 令 \(f_{i,j}\) 表示前 \(i\) 个任务分 \(j\) 段的最小费用,\(T_i\) 表示前 \(i\) 项任务的时间和,\(C_i\) 表示前 \(i\ 阅读全文
posted @ 2025-05-08 12:57 整齐的艾萨克 阅读(22) 评论(0) 推荐(0)
摘要: 这是 neatisaac 的金牌导航题解! A. 【例题1】递增子序列 令 \(f_{i,j}\) 表示以 \(i\) 结尾,长度为 \(j\) 的递增子序列的个数,于是有: \[\large f_{i,j}=\sum_{k=1,a_k<a_i}^{i-1}f_{k,j-1} \]先枚举 \(j\) 阅读全文
posted @ 2025-05-04 15:36 整齐的艾萨克 阅读(19) 评论(0) 推荐(0)