![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
ln2037
用心雕琢我的艺术品。
展开
-
快速乘法
和快速幂类似。思想是把乘法转换成加法。 详见代码。 #include <iostream> using namespace std; int multi(int a, int b) { int res = 0;//最终值 while(b) { if(b & 1) res += a;//若当前位为1,就相加 a <<= 1;//扩大二倍 b >>= 1;//右移一位 } return res; } int main() { int原创 2021-04-12 23:37:52 · 119 阅读 · 0 评论 -
LeetCode 208. 实现 Trie (前缀树) 【字典树】
实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert(“apple”); trie.search(“apple”); // 返回 true trie.search(“app”); // 返回 false trie.startsWith(“app”); // 返回 true trie.insert(“app”); trie.search(“app”); /原创 2021-01-19 19:34:57 · 59 阅读 · 0 评论 -
一个数的因子个数求解公式
int getSum(int n) { int res = 1; int sq = sqrt(n); for(int i = 2; i <= sq; i++) { if(n % i == 0) { int tem = 0; while(n % i == 0) { n /= i; tem++; } res *= tem + 1; } ...原创 2020-02-07 22:41:10 · 612 阅读 · 0 评论 -
浅谈AC自动机
浅谈AC自动机 ac自动机适用于多模式串匹配问题。通俗的说就是给你一个文本串,多个模式串,求模式串在文本串中出现的次数。 需要的前置技能为trie树。算法核心思想与kmp相似。 首先根据模式串构建trie树,代码如下: void insert() { int len = strlen(a); int now = 0; for(int i = 0; i < len; i++) { ...原创 2019-09-03 11:03:56 · 172 阅读 · 0 评论