一.Stein算法过程及其简单证明 1.一般步骤: s1:当两数均为偶数时将其同时除以2至至少一数为奇数为止,记录除掉的所有公因数2的乘积k: s2:如果仍有一数为偶数,连续除以2直至该数为奇数为止: s3:用更相减损法(辗转相减法),即GCD(a,b)=GCD(a-b,b),或辗转相除法求出两奇数的最大公约数d: s4:原来两数的最大公约数即为d*k: 2.简单证明: s1:即为求出两数为2的幂次方的最大公因数k: s2:当化简后两数一奇一偶时,显然奇数是不含偶数因子的,那么另一化简后偶数的所…
一.欧几里得算法及其证明 1.定义: 欧几里得算法又称辗转相除法,用于求两数的最大公约数,计算公式为GCD(a,b)=GCD(b,a%b): 2.证明: 设x为两整数a,b(a>=b)的最大公约数,那么x|a,x|b; ①由整数除法具有传递性(若x能整除a,x能整除b,那么x可整除a,b的任意线性组合)知x|a-b; ②设x不是b的因子,则x不是b和a-b的公因子:设x不是a的因子,则x不是b和a-b的公因子:所以可以得出GCD(a,b)=GCD(b,a-b); ③由a>=b知,a可表示为a=…
首先引进一个符号:gcd是greatest common divisor(最大公约数)的缩写,gcd( x,y ) 表示x和y的最大公约数.然后有一个事实需要了解:一个奇数的所有约数都是奇数.这个很容易,下面我们要用到.      来研究一下最大公约数的性质,我们发现有 gcd( k*x,k*y ) = k*gcd( x,y ) 这么一个非常好的性质(证明我就省去了).说他好是因为他非常符合我们化小的思想.我们试取 k=2 ,则有 gcd( 2x,2y ) = 2 * gcd( x,y ).这使…
目录 前言 目录 隐马尔可夫模型(Hidden Markov Model,HMM) HMM分词 两个假设 Viterbi算法 代码实现 实现效果 完整代码 参考文献 前言 在浅谈分词算法(1)分词中的基本问题我们讨论过基于词典的分词和基于字的分词两大类,在浅谈分词算法(2)基于词典的分词方法文中我们利用n-gram实现了基于词典的分词方法.在(1)中,我们也讨论了这种方法有的缺陷,就是OOV的问题,即对于未登录词会失效在,并简单介绍了如何基于字进行分词,本文着重阐述下如何利用HMM实现基于字的分…
前言 在浅谈分词算法(1)分词中的基本问题我们讨论过基于词典的分词和基于字的分词两大类,在浅谈分词算法(2)基于词典的分词方法文中我们利用n-gram实现了基于词典的分词方法.在(1)中,我们也讨论了这种方法有的缺陷,就是OOV的问题,即对于未登录词会失效在,并简单介绍了如何基于字进行分词,本文着重阐述下如何利用HMM实现基于字的分词方法. 目录 浅谈分词算法(1)分词中的基本问题浅谈分词算法(2)基于词典的分词方法浅谈分词算法(3)基于字的分词方法(HMM)浅谈分词算法(4)基于字的分词方法(…
目录 前言 目录 循环神经网络 基于LSTM的分词 Embedding 数据预处理 模型 如何添加用户词典 前言 很早便规划的浅谈分词算法,总共分为了五个部分,想聊聊自己在各种场景中使用到的分词方法做个总结,种种事情一直拖到现在,今天抽空赶紧将最后一篇补上.前面几篇博文中我们已经阐述了不论分词.词性标注亦或NER,都可以抽象成一种序列标注模型,seq2seq,就是将一个序列映射到另一个序列,这在NLP领域是非常常见的,因为NLP中语序.上下文是非常重要的,那么判断当前字或词是什么,我们必须回头看…
目录 前言 目录 条件随机场(conditional random field CRF) 核心点 线性链条件随机场 简化形式 CRF分词 CRF VS HMM 代码实现 训练代码 实验结果 参考文献 前言 通过前面几篇系列文章,我们从分词中最基本的问题开始,并分别利用了1-gram和HMM的方法实现了分词demo.本篇博文在此基础上,重点介绍利用CRF来实现分词的方法,这也是一种基于字的分词方法,在将句子转换为序列标注问题之后,不使用HMM的生成模型方式,而是使用条件概率模型进行建模,即判别模型…
浅谈可持久化Trie与线段树的原理以及实现 引言 当我们需要保存一个数据结构不同时间的每个版本,最朴素的方法就是每个时间都创建一个独立的数据结构,单独储存. 但是这种方法不仅每次复制新的数据结构需要时间,空间上也受不了储存这么多版本的数据结构. 然而有一种叫git的工具,可以维护工程代码的各个版本,而空间上也不至于十分爆炸.怎么做到呢? 答案是版本分支,即每次创建新的版本不完全复制老的数据结构,而是在老的数据结构上加入不同版本的分支. 下面以链表为例 graph LR A-->B B-->C…
题目 3在十进制下满足若各位和能被3整除,则该数能被3整除. 5在十六进制下也满足此规律. 给定数字k,求多少进制(1e18进制范围内)下能满足此规律,找出一个即可,无则输出-1. 题解 写写画画能找到规律,即是求与k互质的数x,x进制下即能满足上述规律. 相关 求最大公约数:辗转相除法(又叫欧几里得算法) 欧几里德定理: gcd(a, b) = gcd(b , a mod b) ,对于正整数a.b. 其中a.b大小无所谓.当a值小于b值时,算法的下一次递归调用就能够将a和b的值交换过来. 代码…
在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G是一个强连通图.非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components). Tarjan算法是基于对图深度优先搜索的算法,每个强连通分量为搜索树中的一棵子树.搜索时,把当前搜索树中未处理的节点加入一个堆栈,回溯时可以判断栈顶到栈中的节点是否为一个强连通分量.Tarjan算法有点类似于基于后序的深度遍历搜…