会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Sakyo
博客园
首页
新随笔
联系
订阅
管理
2020年9月29日
欧拉函数
摘要: $\phi(n)$即小于n且与n互素的整数个数。 由容斥定理可得公式: \(\phi(n)=\sum_{S\subseteq ( p_{1},p_{2},...,p_{k} ) }(-1)^{\left | S \right |}\frac{n}{\prod_{p_{i}\in S}p_{i}}\)
阅读全文
posted @ 2020-09-29 18:07 Sakyo
阅读(109)
评论(0)
推荐(0)
2020年9月27日
格雷码
摘要: 格雷码是任意两个相邻数的代码只有一位二进制数不同的编码。 例如以下为三位元的格雷码:000 001 011 010 110 111 101 100。 正反向公式: \(G(n) = n \oplus (n >> 1)\) \(n = G(n) \oplus (G(n) >> 1) \oplus ..
阅读全文
posted @ 2020-09-27 22:11 Sakyo
阅读(1016)
评论(0)
推荐(0)
2020年9月26日
Trie
摘要: Trie(前缀树)用来保存字符串集合。 这个树的根结点ID为0,其余结点ID为从1开始的正整数。 $ch[i][j]$表示结点$i$的边为$j$的子结点的编号(不存在则为0),例如:\(ch[0][A]=5,ch[1][A]=0\)。 S表示字符集的大小,当字符集为全体小写字母时$S=26$。 插入
阅读全文
posted @ 2020-09-26 22:39 Sakyo
阅读(86)
评论(0)
推荐(0)
2020年9月24日
KMP
摘要: KMP(Knuth-Morris-Pratt)算法是一种线性时间字符串匹配算法。 假设文本$T$为一个长度为$n$的字符串,模式$P$为一个长度为$m$的字符串,满足$m \leqslant n$。需要在文本中找出所有的匹配点$s$使得对任意$0 \leqslant j < m$,$T[s+j]=P
阅读全文
posted @ 2020-09-24 21:37 Sakyo
阅读(194)
评论(0)
推荐(0)
2020年9月22日
二分查找
摘要: 二分查找用于搜索目标值在排序数组中的位置,时间复杂度$O(logn)$。 int l = 1, r = n; while(l <= r) { int m = l + ((r - l) >> 1); if(check(m)) l = m + 1; else r = m - 1; } // l or r
阅读全文
posted @ 2020-09-22 21:22 Sakyo
阅读(68)
评论(0)
推荐(0)
2020年9月21日
素数筛法
摘要: 求1和n之间的所有素数 1. 朴素方法 int m = sqrt(n + 0.5); memset(vis, 0, sizeof(vis)); for(int i = 2; i <= m; i++) if(!vis[i]) for(int j = i * i; j <= n; j += i) vis
阅读全文
posted @ 2020-09-21 20:05 Sakyo
阅读(77)
评论(0)
推荐(0)
公告