摘要:"学习视频" $O(n)$ 求最长回文字符串 1.将原字符串转化 记得$ms,mp$的长度要开到原数组的两倍 $s$数组为字符串,$ms$为转化后的字符串 在$0$位置插入边界$\$$,在结尾位置插入$0$ 其他情况,每个原字符串中的字母都用两个$\ $来包围 模板题 "POJ 3974" 阅读全文
posted @ 2020-03-30 17:40 lukelmouse 阅读 (7) 评论 (0) 编辑
摘要:算法步骤 时间复杂度 $O((n+q)\log n)$,$n$是问题规模,$q$是询问个数 倍增法求$LCA$ $fa[i,j]$表示从$i$开始向上走$2^j$所能到达的节点 $(0 \leq j\leq\log n)$ $depth[i]$表示节点$i$的深度 哨兵:如果从$i$开始跳$2^j$ 阅读全文
posted @ 2020-03-29 20:38 lukelmouse 阅读 (8) 评论 (0) 编辑
摘要:A "Divisibility Problem" 题意 给你两个正整数$a,b$ 你每次可以执行一次$a++$操作,问你最小的操作步数,使得$a$能被$b$整除 思路 数学 分情况讨论 当$ab$ 时,只要把$a$调整到离$kb$最近的一个$b$的倍数,即$\lceil {a / b}\rceil 阅读全文
posted @ 2020-03-27 09:45 lukelmouse 阅读 (62) 评论 (3) 编辑
摘要:B 阅读全文
posted @ 2020-03-22 15:47 lukelmouse 阅读 (10) 评论 (0) 编辑
摘要:整数三分模板 阅读全文
posted @ 2020-03-22 14:48 lukelmouse 阅读 (8) 评论 (0) 编辑
摘要:"Three Integers" 枚举$a,b$ 处理 $c$ 最小上界 $cc = cb (c / cb) + 1 cb;$ 最大上界$cc = cb (c / cb) + 0 cb;$ 阅读全文
posted @ 2020-03-22 12:13 lukelmouse 阅读 (8) 评论 (0) 编辑
摘要:"Perform the Combo" 差分 $p$ 数组的含义可以理解为$1\sim p_i$ 之间的数都要被摁一遍,然后再从头开始 那么每次的开头都是$1$ ,结尾都是$p_i$ ,利用差分数组,$O(1)$ 进行区间$+1$ 最后全部的数字都要摁一遍打出$combo$ 即 $[1, n] + 阅读全文
posted @ 2020-03-22 11:33 lukelmouse 阅读 (13) 评论 (0) 编辑
摘要:"AtCoder Beginner Contest 157" B $and,not,or$ 这些关键字比较好打 这题加个标记数组就好 阅读全文
posted @ 2020-03-14 11:52 lukelmouse 阅读 (14) 评论 (0) 编辑
摘要:"AtCoder Beginner Contest 158" BCD B 先找到循环节的长度乘以每个循环节中$a$ 的数量,然后在加上 注意 long long 阅读全文
posted @ 2020-03-13 23:44 lukelmouse 阅读 (9) 评论 (0) 编辑
摘要:"1046 A^B Mod C" 快速幂取模 阅读全文
posted @ 2020-03-12 14:53 lukelmouse 阅读 (8) 评论 (0) 编辑