摘要: 本文word2vec原理参考:NLP扎实基础2:Word2vec模型CBOW Pytorch复现 看过之后,基本上是能够理解的,在自己的电脑上运行时,对一些地方有困惑,经过查阅相关资料后才搞懂,另外,原博客中的代码还有一些bug一并解决。 1. CBOW是如何实现的 结合上述原理图,可以知道CBOW 阅读全文
posted @ 2023-10-09 22:53 张天明 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 不同于有序数组的简单二分查找,789. 数的范围在更新区间时包含mid,需要考虑边界问题。 1. 题目描述 给定一个按照升序排列的长度为n的整数数组a,返回一个元素k的起始位置和终止位置(位置从0开始计数)。 2. 解题思想 解题思想比较直接,就是分别找到第一个不小于k的元素和最后一个不大于k的元素 阅读全文
posted @ 2023-10-09 22:50 张天明 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 素数很有用,特别是在密码学领域中,比如RSA中很重要的一步就是寻找两个比较大的素数,通常的做法是先随机生成一个大整数,然后使用一些素性判定的方法,比如费马素性测试。在算法竞赛的数论题目中,素数也很常见,通常的做法是先找出一定范围内的所有素数,用到时再查表,筛法就可以做到。 1. 埃氏筛 埃拉托斯特尼 阅读全文
posted @ 2023-10-09 22:49 张天明 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 最长上升子序列是使用动态规划求解的经典题目。 B3637 最长上升子序列 1. 题目描述 给定一个长度为N的数列(w[N]),求数值严格单调递增的子序列的长度最长是多少。 2. 动态规划 使用动态规划的核心是构造状态转移表达式,先来看看这道题目是如何定义状态及转移方程的。 定义f[i]表示以w[i] 阅读全文
posted @ 2023-10-09 22:43 张天明 阅读(23) 评论(0) 推荐(0) 编辑