算法与数据结构
文章平均质量分 90
Galaxy_yr
Hold your dream,go for it!
展开
-
RSA加密与解密讲解
RSA加密与解密这里只是讲讲RSARSARSA是怎么加密以及怎么解密。加密与解密过程采用RSARSARSA的方法后可以得到一个公钥(n,e)(n,e)(n,e)和私钥(n,d)(n,d)(n,d)。对于一个明文aaa,我们把它加密得到bbb,b=ae mod nb=a^e~~mod~~nb=ae mod  ...原创 2019-11-06 22:35:24 · 343 阅读 · 0 评论 -
Miller Rabin 素数测试
Miller Rabin 素数测试Miller Rabin 是一种快速判断素数的方法。有非常小的概率可能出错。费马小定理和二次探测Miller Rabin 素数测试主要就是用到了以上两个理论。费马小定理: 如果ppp为质数,那么有ap−1≡1 mod pa^{p-1} ≡1~~mod~~ pap−1≡1 mod &...原创 2019-11-06 20:47:36 · 653 阅读 · 0 评论 -
线段树优化建图学习
线段树优化建图在某次CYjian神犇给我推了一道树剖+线段树优化建图+2-SAT的好(毒瘤)题后,发现自己竟然还不会线段树优化建图,于是赶紧滚去学了一波,记下笔记作用用来解决区间连边(l,r)的每个点向(L,R)的每个点连边的建图方法。可以优化空间和时间。实现以CF786B为例。题目要求支持以下三个操作:单个点向单个点连边,权值为v[l,r][l,r][l,r]中的...原创 2019-10-02 19:46:00 · 536 阅读 · 0 评论 -
邻接链表(前向星)存图
邻接链表的使用我们知道,如果一个图比较小的话,可以使用邻接矩阵来存图,但当图比较大的话,再使用邻接矩阵,那么空间就会爆炸,所以我们采用邻接链表来优化空间。构建方法顾名思义,邻接链表也是一种链表,包括表头,指向的边和下一个链表的位置,若为带权图,还能保存权值。int head[maxn];//表头索引struct edge{ int to,next,w;//to表示指向的点,next表示...原创 2019-09-05 16:03:19 · 191 阅读 · 0 评论 -
换根dp
换根dp树形dpdpdp的一个内容,对于有根树的dpdpdp值可以O(n)O(n)O(n)求的题目,而要求考虑无根树的方法。方法比较简单,下面来看一道例题POJ3585题目描述有一个树形的水系,由 N-1 条河道和 N 个交叉点组成。我们可以把交叉点看作树中的节点,编号为 1~N,河道则看作树中的无向边。每条河道都有一个容量,连接 x 与 y 的河道的容量记为 c(x,y)。河道中单...原创 2019-08-30 21:25:15 · 283 阅读 · 0 评论 -
欧拉函数及其相关证明(极清晰)
预备知识剩余系:指对于某一个特定的正整数n,一个整数集中的数mod n所得的余数域。完全剩余系:设m∈Z+,若r0,r1,...rm−1为m个整数,并且两两模m不同余,则r0,r1,...rm−1叫作模m的一个完全剩余系。设m∈Z+,若r_0,r_1,...r_{m-1}为m个整数,并且两两模m不同余,则r_0,r_1,...r_{m-1}叫作模m的一个完全剩余系。设m∈Z+,若r0...原创 2019-06-29 11:51:36 · 683 阅读 · 0 评论 -
KD树详解
K-Dimension-Tree (KDT)顾名思义,kd树其实就是多维二叉树(空间二叉树的一种特殊情况), 里面储存着k维的点的信息,是对k维空间进行划分的一种数据结构。在竞赛中一般用来解决二维空间和三维空间的信息检索KD树可以解决以下几个任务:KNN问题。即查询离某个点第k邻近的点查询最近最远(就是 KNN问题)查询矩阵和图像处理(与竞赛无关)对于KD树,我...原创 2019-04-13 16:50:07 · 18107 阅读 · 7 评论 -
求逆序对个数的三种方法(归并排序,树状数组,权值线段树)
求逆序对个数的三种方法逆序对: 对于一个序列 a1a_1a1,a2a_2a2,a3a_3a3…ana_nan,如果存在aia_iai>aja_jaj且i<j,则aia_iai和aja_jaj为一个逆序对。这里将介绍3种求逆序对对数的方法。在此之前,默认为你已经会了归并排序,树状数组和线段树。(不会的可以百度学习一下)1.归并排序求逆序对这应该是几乎人人都会的方...原创 2018-11-02 20:28:13 · 5042 阅读 · 2 评论 -
ST表
ST表ST表是用来解决RMQ(Range Maximum Query 区间查询最值)问题的一种方法。基本流程:对于一个数组a( 范围为 1 --- n )查询区间 [ l , r ] 中的最值(这里以最大值为例),我们可以分为以下几步。 分治思想:把问题分为两部分 ...原创 2018-09-25 15:57:34 · 168 阅读 · 0 评论