摘要: 题目 Luogu P1471 维护一个包含 \(n\) 个实数的数列,并有 \(m\) 个操作 操作为以下三种之一: 1 x y k 表示将第 \(x\) 到第 \(y\) 项每项加上 \(k\) ,\(k\) 为一实数 2 x y 表示求出第 \(x\) 项到第 \(y\) 项这一子数列的平均数 阅读全文
posted @ 2022-01-21 22:50 f(k(t)) 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 0.序言 这是一篇记录简单搜索(不需要复杂剪枝)题目的题解合集,题单参考的是著名的《kuangbin带你飞》,由于HDU近期无法访问,所以下面不会出现HDU上的题目 1.POJ 3278 Catch That Cow 题目 POJ 3278 分析 简单bfs 代码 #include<iostream 阅读全文
posted @ 2022-01-17 20:47 f(k(t)) 阅读(12) 评论(0) 推荐(0) 编辑
摘要: 简介 并查集是一种数据结构,用于处理一组不相交的集合的 合并 和 查询 问题 它支持两种操作: 查找(Find):确定某个元素处于哪个子集 合并(Union):将两个子集合并成一个集合 实现 初始化 void make_set(int siz) { for(int i = 1; i <= siz; 阅读全文
posted @ 2022-01-02 23:32 f(k(t)) 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题目 Luogu P2421 克里特岛以野人群居而著称。岛上有排列成环行的 \(m\) 个山洞。这些山洞顺时针编号为 \(1,2,\dots ,m\) 。岛上住着 \(n\) 个野人,一开始依次住在山洞 \(C_1,C_2,\dots ,C_n\) 中,以后每年,第 \(i\) 个野人会沿顺时针向前 阅读全文
posted @ 2022-01-02 23:12 f(k(t)) 阅读(58) 评论(0) 推荐(0) 编辑
摘要: 题目 Luogu P2480 求值: \[ G^{\sum_{k\mid n}\binom{n}{k}} \bmod 999911659 \] 分析 若 \(999911659\mid G\) ,显然答案为 \(0\) 若 \(999911659\not\mid G\) ,因为 \(99991165 阅读全文
posted @ 2021-12-30 20:44 f(k(t)) 阅读(27) 评论(0) 推荐(0) 编辑
摘要: CRT 简介 CRT(中国剩余定理)可用于求解如下形式的线性同余方程组 \[ \begin{cases} x \equiv b_1 \pmod{a_1}\\ x \equiv b_2 \pmod{a_2}\\ \cdots \\ x \equiv b_n \pmod{a_n} \end{cases} 阅读全文
posted @ 2021-12-29 17:14 f(k(t)) 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 邻接矩阵 原理 使用一个二维数组 mat 来存边,其中 mat[u][v] = w 表示结点 \(u,v\) 间存在一条权值为 \(w\) 的边 复杂度 设图有 \(n\) 个点 \(m\) 条边 查询是否存在某条边 \(O(1)\) 遍历一个点的所有出边 \(O(n)\) 遍历全图 \(O(n^2 阅读全文
posted @ 2021-12-26 20:29 f(k(t)) 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 欧几里得算法 原理 欧几里得算法用于求解两个数的最大公约数,它基于下面这个公式: \[ \gcd(a,b)=\gcd(b,a\bmod b) \] 可以简单地证明: 设 \(A\) 为 \(a,b\) 的公约数组成的集合, \(B\) 为 \(b,a\bmod b\) 的公约数组成的集合,只需证 \ 阅读全文
posted @ 2021-12-26 20:16 f(k(t)) 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 简介 BSGS(baby-step,giant-step)算法可在 \(O(\sqrt p)\) 的时间内求解离散对数问题,所谓离散对数,就是形如下面的同余方程的解: \[ a^x\equiv b\pmod p \] 其中 \(a\perp p\) 原理 因为 \(a\perp p\) ,由欧拉定理 阅读全文
posted @ 2021-12-26 00:03 f(k(t)) 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 拉链法 JLOI2011 不重复数字 const int SZ = 100007; struct hash_table { int head[SZ], next[SZ], key[SZ], val[SZ]; int cnt; void init() { cnt = 0; memset(head, - 阅读全文
posted @ 2021-12-25 11:31 f(k(t)) 阅读(53) 评论(0) 推荐(0) 编辑