随笔分类 -  算法竞赛

摘要:二分 P1824 进击的奶牛 题目描述 Farmer John 建造了一个有 \(N\)(\(2 \leq N \leq 10 ^ 5\)) 个隔间的牛棚,这些隔间分布在一条直线上,坐标是 \(x _ 1, x _ 2, \cdots, x _ N\)(\(0 \leq x _ i \leq 10 阅读全文
posted @ 2025-05-23 12:57 AKgrid 阅读(31) 评论(0) 推荐(0)
摘要:二分 P2678 [NOIP 2015 提高组] 跳石头 题目背景 NOIP2015 Day2T1 题目描述 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 \(N\) 块岩石(不含 阅读全文
posted @ 2025-05-22 14:41 AKgrid 阅读(25) 评论(0) 推荐(0)
摘要:拓扑排序 有向图的拓扑序列 给定一个 \(n\) 个点 \(m\) 条边的有向图,点的编号是 \(1\) 到 \(n\),图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 \(-1\)。 若一个由图中所有点构成的序列 \(A\) 满足:对于图中的每条边 \((x 阅读全文
posted @ 2025-03-19 19:50 AKgrid 阅读(159) 评论(0) 推荐(0)
摘要:树形DP 树的重心 给定一颗树,树中包含 \(n\) 个结点(编号 \(1 \sim n\))和 \(n-1\) 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称 阅读全文
posted @ 2025-03-19 00:55 AKgrid 阅读(27) 评论(0) 推荐(0)
摘要:链式前向星 链式前向星其实就是用另一种方式实现邻接表,而且是头插法。 将结点按 \(1\sim n\) 依次编号,表头数组 h[i] 表示点 \(i\) 的第一条出边。 边集数组 e[k] 存储第 \(k\) 条边的终点 \(v\) ,边权 \(w\) 和下一条边 \(ne\)。 边的编号 idx 阅读全文
posted @ 2025-03-19 00:11 AKgrid 阅读(219) 评论(0) 推荐(0)
摘要:字符串 Manacher Manacher算法应用于特殊场景:查找一个长度为 \(n\) 的字符串 \(S\) 中最长回文子串(\(\text {Longest Palindromic Substring, LPS}\))。 算法的复杂度为 \(O(n)\),是这个场景中效率最高的回文串算法。 一、 阅读全文
posted @ 2025-03-09 00:54 AKgrid 阅读(35) 评论(0) 推荐(0)
摘要:BFS P1825 [USACO11OPEN] Corn Maze S 题目描述 This past fall, Farmer John took the cows to visit a corn maze. But this wasn't just any corn maze: it featur 阅读全文
posted @ 2025-02-26 07:21 AKgrid 阅读(28) 评论(0) 推荐(0)
摘要:双向广搜 P1032 洛谷 [NOIP 2002 提高组] 字串变换 题目背景 本题不保证存在靠谱的多项式复杂度的做法。测试数据非常的水,各种做法都可以通过,不代表算法正确。因此本题题目和数据仅供参考。 本题为搜索题,本题不接受 hack 数据。关于此类题目的详细内容 题目描述 已知有两个字串 \( 阅读全文
posted @ 2025-02-23 19:01 AKgrid 阅读(68) 评论(0) 推荐(0)
摘要:DFS P1101 单词方阵 题目描述 给一 \(n \times n\) 的字母方阵,内可能蕴含多个 yizhong 单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 \(8\) 个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字 阅读全文
posted @ 2025-02-20 21:04 AKgrid 阅读(25) 评论(0) 推荐(0)
摘要:DFS 1033 Lake Counting 思路 DFS求连通块 在剪枝的时候忘了加 mp[a][b] == '.' ,只能搜第一个连通块,艹 剪枝还是老一套:边界、记忆化搜索、判断对象 遇到水坑W,直接DFS,把连通块全标记,剪枝完成 板子题,不说看代码。 代码 #include <bits/s 阅读全文
posted @ 2025-02-20 00:37 AKgrid 阅读(13) 评论(0) 推荐(0)
摘要:BFS AcWing 845 八数码 题目描述 在一个 \(3×3\) 的网格中,\(1 \sim 8\) 这 \(8\) 个数字和一个 x 恰好不重不漏地分布在这 \(3 \times 3\) 的网格中。 例如: 1 2 3 x 4 6 7 5 8 在游戏过程中,可以把 x 与其上、下、左、右四个 阅读全文
posted @ 2025-02-19 16:44 AKgrid 阅读(17) 评论(0) 推荐(0)
摘要:P1118 [USACO06FEB] Backward Digit Sums G/S 题目描述 FJ and his cows enjoy playing a mental game. They write down the numbers from \(1\) to$ N(1 \le N \le 阅读全文
posted @ 2025-02-19 14:45 AKgrid 阅读(17) 评论(0) 推荐(0)
摘要:\[\begin{cases} x\equiv a_1\ (mod\ m_1)\\[2mm] x\equiv a_2\ (mod\ m_2)\\[2mm] \quad\vdots \\[2mm] x\equiv a_r\ (mod\ m_r)\\[2mm] \end{cases} \]问题 对于以上 阅读全文
posted @ 2025-02-14 01:20 AKgrid 阅读(56) 评论(0) 推荐(0)
摘要:一阶线性同余方程 给定 \(a,b,m\) ,求整数 \(x\) ,满足 \(ax\equiv b\ (mod \ m)\)。 这说明 \(ax-b\) 是 \(m\) 的倍数,设为 \(-y\) 倍,这就得到二元线性丢番图方程 \(ax+my=b\) 。 所以,求解一阶线性同余方程等价于二元线性丢 阅读全文
posted @ 2025-02-13 19:59 AKgrid 阅读(39) 评论(0) 推荐(0)
摘要:董晓算法:G13 同余式 乘法逆元 费马小定理(通俗易懂) [AcWing876] 快速幂求逆元 876. 快速幂求逆元 - AcWing题库 题目描述 给定 \(n\) 组 \(a_i, p_i\),其中 \(p_i\) 是质数,求 \(a_i\) 模 \(p_i\) 的乘法逆元,若逆元不存在则输 阅读全文
posted @ 2025-02-13 16:45 AKgrid 阅读(60) 评论(0) 推荐(0)
摘要:二元线性丢番图方程 方程 \(ax+by=c\) 称为二元线性丢番图方程,其中 \(a,b,c\) 为常量,\(x,y\) 为变量,问方程是否有整数解。 该方程实际上是二维平面上的一条直线,无固定解,所以丢番图方程又称为不定方程。 在数论中,我们记 \((a,b)\) 为 \(a\) 和 \(b\) 阅读全文
posted @ 2025-02-13 14:47 AKgrid 阅读(153) 评论(0) 推荐(0)
摘要:欧拉函数 [AcWing873] 欧拉函数 873. 欧拉函数 - AcWing题库 题目描述 给定 \(n\) 个正整数 \(a_i\),请你求出每个数的欧拉函数。 欧拉函数的定义 \(1 \sim N\) 中与 \(N\) 互质的数的个数被称为欧拉函数,记为 \(ϕ(N)\)。 若在算数基本定理 阅读全文
posted @ 2025-02-12 20:22 AKgrid 阅读(13) 评论(0) 推荐(0)
摘要:约数 [AcWing869] 试除法求约数 题目描述 给定 \(n\) 个正整数 \(a_i\),对于每个整数 \(a_i\),请你按照从小到大的顺序输出它的所有约数。 输入格式 第一行包含整数 \(n\)。 接下来 \(n\) 行,每行包含一个整数 \(a_i\)。 输出格式 输出共 \(n\) 阅读全文
posted @ 2025-02-11 00:20 AKgrid 阅读(16) 评论(0) 推荐(0)
摘要:数字三角形模型 [AcWing1018] 最低通行费 题目描述 一个商人穿过一个 \(N×N\) 的正方形的网格,去参加一个非常重要的商务活动。 他要从网格的左上角进,右下角出。 每穿越中间 \(1\) 个小方格,都要花费 \(1\) 个单位时间。 商人必须在 \((2N-1)\) 个单位时间穿越出 阅读全文
posted @ 2025-02-09 22:04 AKgrid 阅读(15) 评论(0) 推荐(0)