- 博客(25)
- 收藏
- 关注
原创 后缀自动机
后缀自动机基本描述后缀自动机:对于一个字符串SSS,它对应的后缀自动机是一个最小的确定有限状态自动机,接受且仅接受SSS的后缀。栗子:对于字符串S = “aabbabd”,它的后缀自动机:其中红色状态是终结状态。对于SSS的后缀,都可以从SSS状态出发沿着字符标识路径转移,最后到达终结状态。特别的,对于SSS的子串,最终会走到一个合法状态;若不是SSS的子串,最后会无路可走。后缀自动...
2019-05-29 08:36:18 270
原创 bzoj3512 DZY Loves Math IV
题面:bzoj3512题意:求∑i=1n∑j=1mφ(ij)\sum _{i=1} ^n \sum _{j=1} ^m \varphi (ij)∑i=1n∑j=1mφ(ij),1≤n≤1051 \le n \le 10^51≤n≤105,1≤m≤1091 \le m \le 10^91≤m≤109题解:nnn范围比较小,枚举nnn。即求S(n,m)=∑i=1mφ(ni)S (n, m) ...
2019-05-20 13:59:55 130
原创 bzoj4916 神犇和蒟蒻
题面:bzoj4916题意:求∑i=1nμ(i2)\sum _{i=1} ^n \mu (i^2)∑i=1nμ(i2)和∑i=1nφ(i2)\sum _{i=1} ^n \varphi (i ^2)∑i=1nφ(i2),膜109+710^9+7109+7。n≤109n \le 10^9n≤109题解:第一个式子∑i=1nμ(i2)\sum _{i=1} ^n \mu (i^2)∑i=1n...
2019-05-20 10:46:22 114
原创 bzoj3529 Sdoi2014 数表
题面:bzoj3529题意:求∑i=1n∑j=1mσ(gcd(i,j))\sum _{i=1} ^n \sum _{j=1} ^m \sigma (gcd (i, j))∑i=1n∑j=1mσ(gcd(i,j)),σ(gcd(i,j))≤a\sigma (gcd (i, j)) \le aσ(gcd(i,j))≤a。其中σ(x)\sigma (x)σ(x)表示xxx的约数和。题解:先不管a...
2019-05-20 09:53:38 124
原创 bzoj3309 DZY Loves Math
题面:bzoj3309题意:设f(n)f(n)f(n)表示nnn所含质因子的最大幂指数。求∑i=1a∑j=1bf(gcd(i,j))\sum _{i=1} ^a \sum _{j=1} ^b f (gcd (i, j))∑i=1a∑j=1bf(gcd(i,j))题解:ans=∑i=1a∑j=1bf(gcd(i,j))=∑d=1af(d)∑i=1a∑j=1b[gcd(i,j)=d]=∑d=...
2019-05-20 09:40:07 155
原创 bzoj4652 Noi2016 循环之美
题面:bzoj4652题意:对于1≤x≤n1 \le x \le n1≤x≤n,1≤y≤m1 \le y \le m1≤y≤m,有多少个在kkk进制下数值互不相等的纯循环小数xy\frac x yyx。1≤n,m≤1091 \le n, m \le 10^91≤n,m≤109,2≤k≤20002 \le k \le 20002≤k≤2000题解:首先考虑10进制下的纯循环小数,一定可以表示成...
2019-05-19 19:47:32 214
原创 bzoj4816 Sdoi2017 数字表格
题面:bzoj4816题意:求∏i=1n∏j=1mf[gcd(i,j)]\prod _{i=1} ^n \prod _{j=1} ^m f[gcd (i, j)]∏i=1n∏j=1mf[gcd(i,j)],其中f[i]f[i]f[i]表示第iii项斐波那契数列。膜109+710^9+7109+7题解:ans=∏i=1n∏j=1mf[gcd(i,j)]=∏d=1n∏i=1n∏j=1m[gc...
2019-05-19 17:59:29 149
原创 bzoj4815 Cqoi2017 小Q的表格
题面:bzoj4815题意:有一个矩阵始终满足f(a,b)=f(b,a)f(a,b) = f(b,a)f(a,b)=f(b,a)b∗f(a,a+b)=(a+b)∗f(a,b)b * f(a, a + b) = (a + b) * f (a, b)b∗f(a,a+b)=(a+b)∗f(a,b)有两个操作:修改一个格子的数;询问∑i=1k∑j=1kf(i,j)\sum _{i=1} ^k ...
2019-05-19 17:41:57 138
原创 bzoj4407 于神之怒加强版
题面:bzoj4407题意:求∑i=1n∑j=1mgcd(i,j)k\sum _{i=1} ^n \sum _{j=1} ^m gcd (i, j) ^k∑i=1n∑j=1mgcd(i,j)k,mod(109+7)mod (10^9+7)mod(109+7)题解:即求∑d=1ndk∑i=1n∑j=1m[gcd(i,j)=d]\sum _{d = 1} ^n d^k \sum _{i=1} ...
2019-05-19 17:03:07 148
原创 bzoj3994 SDOI2015 约数个数和
题面:bzoj3994题意:设d(x)d(x)d(x)是xxx的约数个数,求∑i=1n∑j=1md(ij)\sum _{i=1} ^n \sum_{j=1} ^m d (ij)∑i=1n∑j=1md(ij)题解:d(ij)=∑x∣i∑y∣j[gcd(x,y)=1]d(ij) = \sum _{x \mid i} \sum_{y \mid j} [gcd (x, y) = 1]d(ij)=∑...
2019-05-19 16:40:19 120
原创 bzoj3930 CQOI2015 选数
题面:bzoj3930题意:从[L,H][L,H][L,H]选出nnn个数,使它们的最大公约数为kkk的方案数,对1e9+71e9+71e9+7取模。1≤n,k,L,H≤1091 \le n, k, L, H \le 10^91≤n,k,L,H≤109,H−L≤105H-L \le 10^5H−L≤105题解:即求∑a1=LH∑a2=LH…∑an=LH[gcdi=1n(ai)=k]\sum ...
2019-05-19 16:25:09 169
原创 bzoj2440 中山市选2011 完全平方数
题面:bzoj题意:求第kkk个不含平方因子的数。题解:二分答案xxx。xxx以内不含平方因子的数的个数cnt=x−一个质数平方数的倍数+两个质数积的平方数的倍数−...cnt=x - 一个质数平方数的倍数 + 两个质数积的平方数的倍数 - ...cnt=x−一个质数平方数的倍数+两个质数积的平方数的倍数−...发现μ(3)=−1\mu(3)=-1μ(3)=−1,μ(6)=1\mu (6)...
2019-05-19 15:58:26 157
原创 bzoj2301 HAOI2011 Problem b
题面Description对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数。Input第一行一个整数n,接下来n行每行五个整数,分别表示a、b、c、d、kOutput共n行,每行一个整数表示满足要求的数对(x,y)的个数Sample Input22 5 1 5 11 5 1 5 2...
2019-05-19 11:42:23 161
原创 bzoj2005 NOI2010 能量采集
题面Description栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量。在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起。 栋栋的植物种得非常整齐,一共有n列,每列有m棵,植物的横竖间距都一样,因此对于每一棵植物,栋栋可以用一个坐标(x, y)来表示,其中x的范围是1至n,表示是在第x列,y的范围是1至m,表示是在第x列的第...
2019-05-19 11:31:55 130
原创 莫比乌斯反演、杜教筛
莫比乌斯反演莫比乌斯反演基本形式:对于一个函数f(x)f(x)f(x)设g(x)=∑x∣df(d)g(x)=\sum _{x \mid d} f(d)g(x)=∑x∣df(d),那么f(x)=∑x∣dμ(dx)⋅g(d)f(x)=\sum _{x \mid d} \mu(\frac {d} {x}) \cdot g(d)f(x)=∑x∣dμ(xd)⋅g(d)111:f(x)=1f(...
2019-05-19 11:20:49 187
原创 整体二分
《浅谈数据结构题的几个非经典解法》中的介绍:所谓整体二分,需要数据结构题满足以下性质:询问的答案具有可二分性修改对判定答案的贡献相对独立,修改之间互不影响效果修改如果对判定答案有贡献,则贡献为一确定的与判定标准无关的值贡献满足交换律,结合律,具有可加性题目允许离线操作询问的答案有可二分性质显然是前提,我们发现,因为修改对判定标准的贡献相对独立,且贡献的值(如果有的话)与判定标准无...
2019-05-15 11:17:17 637
原创 带修改莫队
普通的莫队:对询问分块,计算相邻两个询问差距对答案的影响,统计答案。O(nn)O(n\sqrt n)O(nn)带修改莫队:记录当前进行了几次修改。如果当前修改比询问时的修改数少,就向前修改;如果当前修改比询问时的修改数多,就改回来。时间复杂度引用自洛谷题解原版莫队是将区间(l,r)(l,r)(l,r)视为点(l,r)(l,r)(l,r),带修改的即加一维时间轴(l,r,t)(l,r,t...
2019-05-14 19:51:49 270
原创 Link-Cut Tree动态树
把树边划分为实边和虚边,用Splay来维护若干实边连成的实链。Link-Cut Tree支持:查询修改链上信息;换根;动态加边、删边。性质:每棵SplaySplaySplay维护一条从上到下深度严格递增的链,SplaySplaySplay的中序遍历得到的深度序列递增。每个节点包含且仅被包含在一棵SplaySplaySplay中边分为实边和虚边。实边存在SplaySplaySp...
2019-05-14 17:08:12 110
原创 后缀数组
后缀数组是处理字符串的有力工具。实现方法主要是两种:倍增法O(nlogn)O(nlogn)O(nlogn)和DC3法O(n)O(n)O(n)本文主要介绍倍增法。倍增法定义第iii个后缀:s[i…n]s[i…n]s[i…n]。它的后缀位置为iii定义变量:sss:原字符串。s[i]s[i]s[i]:原字符串的第iii个字母。nnn:字符串长度mmm:字符集大小sa[i]sa[i]...
2019-05-13 10:56:04 130
原创 树链剖分
树链剖分(重链剖分)中的一些概念:重儿子:所有儿子中子树节点数量最多的儿子。轻儿子:除重儿子外的儿子。重边:父亲和重儿子的边。轻边:父亲和轻儿子的边。重链:重边连成的链。轻链:轻边连成的链。为什么要使用树链剖分?树链剖分后有一条重要的性质:从根节点到任意节点的路径经过的轻重链数量小于lognlognlogn剖分后使重链上节点的dfsdfsdfs序连续,使链上的操作转换为区间操作,即...
2019-05-13 07:25:26 143
原创 树状数组的区间修改、区间查询
设原数组第iii位为a[i]a[i]a[i],a[0]=0a[0]=0a[0]=0,d[i]=a[i]−a[i−1]d[i]=a[i]-a[i-1]d[i]=a[i]−a[i−1]那么a[x]=∑i=1xd[i]a[x]=\sum _{i=1} ^{x} d[i]a[x]=∑i=1xd[i]∑i=1xa[i]=∑i=1x∑j=1id[j]=∑i=1x(x−i+1)d[i]=(x+1)∑i=1...
2019-05-12 21:36:38 759
原创 点分治
对树的节点进行递归求解:求重心rtrtrt,计算经过rtrtrt的链对答案的贡献,向子树递归。每次求重心为了防止树退化成链,保证递归层数为lognlognlognLuogu P3806 点分治模板#include <bits/stdc++.h>using namespace std;const int maxn = 1e4 + 10 ;inline int read ()...
2019-05-12 21:35:26 77
原创 AC自动机
解决问题:多个模式串,一个匹配串的匹配问题。AC自动机构建方法:对模式串建trietrietrie树。(串结尾处节点打标记)使用bfsbfsbfs构建failfailfail指针:设父亲节点为vvv,当前字母为ccc。沿着父亲的failfailfail指针一直跳failfailfail指针,直到找到节点uuu含有字母ccc的子节点,或跳至根节点。特殊的,第二层节点(即根直接指向的节点)的f...
2019-05-12 21:32:00 80
原创 bzoj3925 ZJOI2015 地震后的幻想乡
bzoj3925 ZJOI2015 地震后的幻想乡题意给定nnn个点,mmm条边的图GGG,每条边eie_iei是0~1的实数,求GGG的最小生成树中边的最大值的期望。n≤10n \le 10n≤10, m≤n(n−1)/2m \le n(n-1)/2m≤n(n−1)/2题解对于nnn个[0,1][0,1][0,1]之间的随机变量x1,x2,…,xnx_1,x_2,…,x_nx1...
2019-05-08 19:54:34 70
原创 矩阵树定理
矩阵树定理用于求解图上的生成树个数。生成树个数等于基尔霍夫矩阵任何一个N−1N-1N−1阶主子式的行列式的绝对值。基尔霍夫矩阵构造方法AAA为邻接矩阵,DDD为度数矩阵,基尔霍夫(Kirchhoff)矩阵为K=D−AK=D-AK=D−A。即a[i][i]a[i][i]a[i][i]为点iii的度数,a[i][j]a[i][j]a[i][j]为iii,jjj之间边数的相反数。例子:行列...
2019-05-08 18:57:49 1905
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人