摘要: 引语 作为求解最短路问题的算法中最稳健的算法,Dijkstra以其惊奇的操作和独特的魅力,吸引了无数OIer学习、钻研。身为一名蒟蒻,本人以有限的能力付诸仔细的思考,对于Dijkstra算法中贪心思想的正确性有了新的认识。 咳咳,相信我,这是一篇很正常的博客,本人也是一名很正常的博主。 大多数OIe 阅读全文
posted @ 2020-01-17 11:13 魑吻丶殇之玖梦 阅读(555) 评论(0) 推荐(1) 编辑
摘要: 刷书ing…… 今天仔细研读了一下二分章节,并刷完了该章节的两个问题,对二分答案认识加深。 观察二分答案模板: while(l<r) { int mid=(l+r)/2; if(check(mid))r=mid; l=mid+1; } return r; while(l<r) { int mid=( 阅读全文
posted @ 2019-11-30 19:53 魑吻丶殇之玖梦 阅读(203) 评论(0) 推荐(1) 编辑
摘要: 【算法 1】当 a; p 相等时,只需要求出 a 在模 p 意义下的一个幂循环节 t,然后求解bx ≡ t(mod p) 的模方程即可。求解该模方程可以用拓展欧几里得算法。若a不与p互质,则一定无解。证明:反证法:假设a不与p互质时有解。令d=gcd(a,p),显然d>1;设a=d*t;则a^r=( 阅读全文
posted @ 2019-11-06 21:19 魑吻丶殇之玖梦 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 序言 对于单调性或二段性的对象一般会考虑二分答案。 把该问题转化为给定一个值mid,判定是否可行,进而缩小范围。 模型 1.最大值最小&最小值最大 此类问题对于答案从属于右边的,则选用“r=mid”的模板;对于答案从属于左边的,则选用“l=mid”的模板。 2.最接近某个值的答案 这类问题其实可以根 阅读全文
posted @ 2019-10-06 08:38 魑吻丶殇之玖梦 阅读(815) 评论(3) 推荐(2) 编辑
摘要: 常见操作系统 UNIX、Linux、Chrome OS、Mac OS(苹果) 移动设备:iOS(苹果)、Android、WP(Windows Phone) 常见文件格式 视频类 AVI、WMV、MPEG、DivX/xvid、DV、 MKV、RM/RMVB、MOV、OGG、MOD、 FLV、F4V、m 阅读全文
posted @ 2019-09-27 21:30 魑吻丶殇之玖梦 阅读(869) 评论(1) 推荐(1) 编辑
摘要: 0x00 基本算法 0x01 位运算 0x02 前缀和与差分 0x03 二分 0x04 倍增 0x05 排序 0x06 离散化 0x07 高精度 0x10 数据结构 0x11 栈和队列 0x12 链表 0x13 哈希表 0x14 并查集 0x15 树 0x16 二叉堆 0x20 数学知识 0x21 阅读全文
posted @ 2019-09-17 22:07 魑吻丶殇之玖梦 阅读(1700) 评论(0) 推荐(2) 编辑
摘要: 一、前缀和 一维前缀和 顾名思义,不再赘述。 二维前缀和 类似于容斥原理,手动画图很好理解。 二、差分 差分可以说是前缀和的逆运算。 设原序列为a1,a2,…an,则该序列的差分序列b1,b2,…,bn满足如下条件:ai = b1 + b2 + … + bi。 一维差分 二维差分 附链接 一维前缀和 阅读全文
posted @ 2019-09-17 22:06 魑吻丶殇之玖梦 阅读(870) 评论(0) 推荐(1) 编辑
摘要: 一、邻接矩阵 邻接矩阵g[i][j]即表示顶点i到顶点j是否有一条有向边,有为1,无为0。 二、邻接表 第i行的每个数表示顶点i到该顶点有一条有向边。 三、前向星 等价于n个单向链表,简单易懂。 四、边集数组 存储边的起点、终点、权值。 阅读全文
posted @ 2019-09-15 10:26 魑吻丶殇之玖梦 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 含义 康托展开是一个全排列到一个自然数的双射,常用于构建哈希表时的空间压缩。 康托展开的实质是计算当前排列在所有由小到大全排列中的顺序,因此是可逆的。 原理 X = s1(n-1)! + s2(n-2)! + s3(n-3)! + …… + sn-1 * 1! + sn * 0! 其中si表示在第i 阅读全文
posted @ 2019-09-15 09:10 魑吻丶殇之玖梦 阅读(433) 评论(2) 推荐(1) 编辑
摘要: 概念 离散化,把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。 通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。 步骤: 1.将所有需要离散化的数据(如下面例子中的下标)放到一个容器中(以下使用vector,当然可以用数组代替); 2.排序,去重(可以手写, 阅读全文
posted @ 2019-07-24 22:01 魑吻丶殇之玖梦 阅读(1027) 评论(0) 推荐(0) 编辑