Mi-Queen

任天高云阔,任逍遥自在,朗朗乾坤有心做伴,便有鸢飞鱼跃。

BZOJ2818-Gcd(欧拉函数)

题解: 考虑每个质数ppp对答案的贡献, gcd(ap,bp)=pgcd(ap,bp)=pgcd(ap,bp)=p相当于a,ba,ba,b互质,gcd(x,y)gcd(x,y)gcd(x,y)为ppp的数对个数即为1<=a,b<=np...

2018-07-14 19:41:48

阅读数 54

评论数 0

游乐园(中国剩余定理)

游乐园 时间限制: 1 Sec 内存限制: 128 MB 题目描述 今天是个好日子,小A和他的小伙伴们一起去逛游乐园。这时,游乐园中忽然出现了一个伪装的吸血鬼,小A和他的小伙伴们都惊呆了!小伙伴们马上跑向了游乐园的四面八方。当“吸血鬼”回家吃饭的时候,小A才发现他已经和他的小伙伴们走散了。...

2018-07-14 12:03:15

阅读数 40

评论数 0

JZOJ4857-简单路径(二进制压位)

问题 AAA: 简单路径 时间限制: 111 SecSecSec 内存限制: 128128128 MBMBMB 题目描述 给定一个nnn个点的无向图,求这个图中有多少条长度为444的简单路径。 输入 第一行一个数nnn 接下来nnn行每行nnn个000或111 ...

2018-07-05 20:12:42

阅读数 317

评论数 0

BZOJ1500-[NOI2005]维修数列

主要参考hzwer。DescriptionInput输入文件的第1行包含两个数N和M,N表示初始时数列中数的个数,M表示要进行的操作数目。第2行包含N个数字,描述初始时的数列。以下M行,每行一条命令,格式参见问题描述中的表格。Output对于输入数据中的GET-SUM和MAX-SUM操作,向输出文...

2018-05-30 19:53:41

阅读数 117

评论数 0

浅析树链剖分

可以看出树链剖分的作用就是将一棵树变成一个可处理的dfs序,树上操作一般由线段树来维护,看一下模板题BZOJ1036和POJ3237。

2018-05-26 15:29:51

阅读数 138

评论数 0

POJ2104-K-th Number(浅析主席树)

K-th NumberTime Limit: 20000MS Memory Limit: 65536KTotal Submissions: 65162 Accepted: 22979Case Time Limit: 2000MSDescriptionYou are working for Macr...

2018-05-16 21:04:30

阅读数 50

评论数 0

线性基的一点理解

1、线性基:        若干数的线性基是一组数a1,a2,...an,其中ax的最高位的1在第x位。        通过线性基中元素xor出的数的值域与原来的数xor出数的值域相同。 2、线性基的构造法:        对每一个数p从高位到低位扫,扫到第x位为1时,若ax不存在,则ax=p并...

2018-04-07 17:02:29

阅读数 115

评论数 0

快速求组合数的方法

求C(n,m)%mod的方法总结 1.当n,m都很小的时候可以利用杨辉三角直接求。 C(n,m)=C(n-1,m)+C(n-1,m-1); 2.利用乘法逆元。 乘法逆元:(a/b)%mod=a*(b^(mod-2)) mod为素数。 逆元可以利用扩展欧几里德或欧拉函数求得: 1).扩展欧几里德:b...

2018-04-02 21:13:29

阅读数 1527

评论数 0

网络流—最大流

       第一次学习网络流,发表一下自己的看法。        在这篇博文当中主要讲一讲3个最大流算法:EK算法,Dinic算法和SAP算法。 一、EK(Edmonds Karp)算法        首先,假如所有边上的流量都没有超过容量(不大于容量),那么就把这一组流量,或者说,这个流...

2018-03-21 21:55:36

阅读数 134

评论数 1

浅析FFT

参考GGN_2015,以供自己学习和记忆。 1.什么是FFT? FFT,即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。它对傅氏变换的理论并没有新的发现,但是对于在计算机系统或者说数字系统中应用离散傅立叶变换,可以说是进...

2018-03-18 20:25:00

阅读数 70

评论数 0

二分图匹配的一点说明

看了看网上的博客,没几篇讲得好的,介于我自己也无法描述清楚,就凑合看看吧。       (以下源自百度百科)        二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分...

2018-03-14 21:34:36

阅读数 82

评论数 0

了解Manacher算法

这个算法看了半天才理解,在这里做一个不太详细的讲解。        首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。比如 abba 变成 #a#b#b#a#, aba变成 #a#b#a#。 为了进一步减少编码的复杂度,可以在...

2018-03-11 21:56:21

阅读数 52

评论数 0

关于Lucas定理

在这篇文章中我来讲一讲数论中的一个重要定理:Lucas定理。 先看看Lucas定理是什么: 证明:

2018-03-11 14:12:45

阅读数 131

评论数 0

详解逆元

今天我们聊一聊逆元这个东西。 那么逆元是个什么东西呢?我们可以发现(a/b)%p=((a%p)/(b%p))%p是错的。(显然) 但如果我们一定要求(a/b)%p怎么办呢?这时就需要逆元了。 我们引入逆元的概念。 a*x=1(mod p),我们就把x看成a的倒数,只不过加了一个求余条件,所...

2018-03-07 21:50:35

阅读数 126

评论数 0

最小生成树(prim&&kruskal)

下面介绍两种求最小生成树算法 1.Kruskal算法 此算法可以称为“加边法”,初始最小生成树边数为0,每迭代一次就选择一条满足条件的最小代价边,加入到最小生成树的边集合里。 1. 把图中的所有边按代价从小到大排序; 2. 把图中的n个顶点看成独立的n棵树组成的森林; 3. 按权值从小到大选择边,...

2018-03-07 12:04:04

阅读数 66

评论数 0

浅谈AC自动机

学习AC自动机之前还需要一点其他的知识的基础:KMP,trie树(字典树)。 首先我们要知道AC自动机是干什么用的。 大家都知道KMP算法是求单字符串对单字符串的匹配使用的。 那么,多个字符串在一个字符串上的匹配怎么办? 如果每次对一个需要匹配的串求一次next数组,然后一次次去匹配,显然...

2018-03-06 08:35:48

阅读数 73

评论数 0

详解KMP

首先我们看看KMP是干什么的——给你两个字符串,寻找其中一个字符串是否包含另一个字符串,如果包含,返回包含的起始位置。        一般匹配字符串时,我们从目标字符串str(假设长度为n)的第一个下标选取和ptr长度(长度为m)一样的子字符串进行比较,如果一样,就返回开始处的下标值,不一样,...

2018-02-24 15:50:42

阅读数 150

评论数 0

关于RMQ

RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干次询问RMQ(i,j),返回数列A中下标在区间[i,j]中的最小/大值。其实这个问题线段树也可以解决,但线段树太繁琐,代码量巨大。         本文介绍一种比较高效...

2018-02-23 16:49:59

阅读数 74

评论数 0

树上差分的两种操作

近几年来,树上差分也考地多了,这篇文章中讲一讲树上差分的两种基本操作。 一、已知路径求被所有路径覆盖的边        首先对已知的这n条路径的起点a和终点b的权值+1,并对lca(a,b)的权值-2。        从根节点开始深搜,回溯时将其本身的权值加上所有子节点的权值。      ...

2018-02-23 14:23:09

阅读数 108

评论数 0

求LCA的两种方法

一、Tarjan求LCA(离线)        其实这个Tarjan与上一篇讲的四种没有一点联系,它只是Tarjan发明的而且恰好也叫Tarjan,上一篇讲的是求强连通分量的。而这一篇所讲的Tarjan实际上是一种离线算法。         下面讲一下Tarjan算法的基本思路:      ...

2018-02-23 09:56:30

阅读数 101

评论数 0

提示
确定要删除当前文章?
取消 删除