
算法讲解
文章平均质量分 68
NOIAu
最后一天啦~
展开
-
浅谈Link-Cut-Tree([林可砍树]LCT动态树)附例题 Hdu4010
其实一直对LCT很好奇,到底是个什么数据结构可以搞这么多东西,还可以动态地维护,支持加边,合并树,查询等操作,比链剖要强大很多学过链剖的同学应该可以很快地理解LCT的思路,LCT的实现需要构造辅助树,我们通常选用splay,因为splay方便的序列操作使得LCT的实现显得得心应手,尤其是在换根的时候,只需要splay树上打上一个标记即可那么LCT到底可以干什么呢?我们来浅显地介绍这样一个神奇的数据原创 2017-07-19 21:01:19 · 1121 阅读 · 1 评论 -
利用差分实现的树状数组区间修改 区间求和
最开始和很不敢相信竟然树状数组还可以区间修改,既然常数这么小,而且好写易调的树状数组可以写区间修改了,那岂不美滋滋?所以我在网上查了查做法,竟然学会了??? Orz http://blog.youkuaiyun.com/qq_21841245/article/details/43956633 这篇博客给了我很大帮助 然后我们可以这样思考,如果现在是区间修改,单点查询,那么我们是不是可以差分一下,在区间的开原创 2017-08-01 15:17:58 · 2380 阅读 · 0 评论 -
浅谈巴什博弈
巴什博弈是最基本的一类博弈,他的定义如下 只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜。对于必胜态NN和必败态PP的分析现在如果一共有m+1m+1个物品,我们去取它,先手至少要取一个,却又把所有的物品取不完,这样就导致了后手的必赢如果物品数小于等于能取的数目,是必胜的,因为只用取一次,如果是大于能取的数目的,我们可以把总数nn分解为(m+1)∗x原创 2017-09-14 14:42:14 · 3265 阅读 · 0 评论 -
真的Miller_Rabin和真的Pollard_Rho小讲解
真的是很水的小讲解以前写的假的Miller_RabinMiller\_Rabin都是多用了几个数去判费马,虽然正确几率变大了,但是面对lldlld的数据还是无能为力,所以只好去学了真的Miller_RabinMiller\_RabinMiller Rabin的搞法应该是多次费马小定理判断,然而很多时候是不行的,因此我们融合二次探测和费马小定理来进行判断费马小定理:ap−1=1(modp)a^{p-1原创 2017-09-20 09:17:31 · 620 阅读 · 0 评论 -
浅谈莫比乌斯反演
之前一直觉得这是一个这辈子都学不到的东西,好像太厉害了根本不适合我,看来我以前(虽然现在也还是)太菜了对于一个算数函数f(x)f(x) 如果我们对f(x)进行如下规定的求和F(n)=∑d|nf(d)F(n)=\sum_{d|n} f(d)其中d|n的含义为d可以整除n,例如对于n=12的情况 F(12)=f(1)+f(2)+f(3)+f(4)+f(6)+f(12)F(12)=f(1)+f(2)+f原创 2017-07-01 11:44:53 · 1414 阅读 · 4 评论 -
割点与桥模板及讲解
割点:就是一张图中割掉这个点之后联通块个数增加的点 桥:也即割边,是一张图中割掉这条边之后联通块个数增加的边求这个东西我们需要用到dfs序,以及low数组,其中low数组和tarjan求强连通分量里的low数组是一个意思,于是我们显然可以得出几个比较显然的结论 ①:low[v] > dfn[u] ->is a cut_line ②:low[v] ≥ dfn[u]->is a c原创 2017-10-05 16:25:51 · 682 阅读 · 0 评论 -
浅谈Fleury(佛罗莱)算法 欧拉回路(及路径)
首先复习一下欧拉回路(及路径)的几个基础概念与定理FirstFirst 欧拉回路:是指所有的边都只经过一次且仅一次,并且要走回到出发点的一条路径 欧拉路径:表示一条不需要回到出发点,但是必须经过所有的边且都只经过一次的路径SecondSecond 无向图存在欧拉回路的充要条件是所有的点的度数均为偶数 无向图存在欧拉路径的充要条件是度数为奇数的点的数量为00个或者22个原创 2017-10-11 15:07:00 · 8507 阅读 · 12 评论