摘要: 首先,观察到 $2n$ 的特殊性, 我们先把他平方 $\to$ $\left\lfloor(5+2\sqrt{6})^n\right\rfloor$. 设 $A_n+B_n\sqrt{6}=(5+2\sqrt{6})^n$(这里的 $A_n,B_n$ 是整数)。评注:设成这个形式 $A_n+B_n\ 阅读全文
posted @ 2023-02-04 22:57 Jiayn 阅读(113) 评论(0) 推荐(0)
摘要: (最短路的子路也是最短路。) 算法过程 定义 S 为已确定最短路的点的集合;$dis_i$ 存储当前从源点 1 到 $i$ 的最短路径。 初始状态: $dis_1=0$,$dis_{2..n}=$ INF,S 为空。 在未确定最短路的点中选出 $dis$ 值最小的点 $k$,将 $k$ 加入 S 集 阅读全文
posted @ 2023-02-04 13:09 Jiayn 阅读(196) 评论(0) 推荐(0)
摘要: LCA = Least Common Ancestor 1. 倍增 先确定一点为根。 预处理出$f[i][j]$, 表示从$i$开始往上跳$2^j$,所到达的节点编号。 对于求解$a$和$b$的LCA:(假设其LCA为节点$c$, $c$的儿子节点为$k$) 我们先让它们跳到同一高度。 然后应注意这 阅读全文
posted @ 2023-02-03 15:23 Jiayn 阅读(80) 评论(0) 推荐(0)
摘要: 写作时间:2023/1/30/16:33 1. KMP 算法是什么 问题: 给出两个字符串 $s_1$ 和 $s_2$,若 $s_1$ 的区间 $[l, r]$ 子串与 $s_2$ 完全相同,则称 $s_2$ 在 $s_1$ 中出现了,其出现位置为 $l$。 定义一个字符串 $s$ 的 border 阅读全文
posted @ 2023-01-31 18:06 Jiayn 阅读(80) 评论(0) 推荐(0)
摘要: (网上的许多博客讲解树状数组的时候都把他当做“一棵树”来讲解,但我认为把他当成“数组”来理解反而更加清晰易懂) 先引入一下 $lowbit$: 设有一个数 $x$, 那么 $lowbit(x)$ 就是把 $x$ 用二进制表示后,从右到左第一个 $1$ 所表示的权值。例如,$lowbit(5)=low 阅读全文
posted @ 2022-10-07 17:07 Jiayn 阅读(112) 评论(0) 推荐(0)
摘要: Part 1 有根树的直径 对于一棵无根树,我们可以先确定一个结点为根,以确定树的形态。注意,树的形态并不会影响答案,也就是说根是哪个点不重要。 在这里,我们假设树的边权是 $1$ 这种情况(一般情况) 下文所说的树都指有根树。 1. 定义: 一棵树上,集合 $T$ 的元素为任意两个点的距离(是唯一 阅读全文
posted @ 2022-07-26 16:02 Jiayn 阅读(187) 评论(0) 推荐(0)