自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

liuguangzhe

一个CQ蒟蒻的口胡之地

  • 博客(7)
  • 收藏
  • 关注

原创 老逗的gcd 莫比乌斯反演

这个题一看就是莫比乌斯反演,怎么处理无平方因子数呢?由莫比乌斯函数的性质,不难写出: 简单反演得: 那么令 重点在于处理的这个函数的值,用传统筛的话可以加一个小优化就是底数和倍数都只枚举Mob不为0的数 即设Cur数组保存所有Mob不为0的数 有 #include #include using namespace std; typedef long long LL; const

2016-04-14 09:07:51 1239

原创 BZOJ2152 聪聪可可 点分治

此题明显可以点分治解决,对每层分治块递归子块,求出块内有多少距离%3=0,1,2的节点,与之前其他块的信息归并, 即ans+=f[0]*g[0]+f[1]*g[2]+f[2]*g[1],再把g加到f上面去即可 注意点分治求重心一定注意不要打错字母(打混x,y之类的) 注意此题题意诡异,点对要*2+n(单点也算,反过来算两次) 分母是n*n而不是n*(n-1)/2 #include #in

2016-04-13 23:11:41 375

原创 BZOJ3160 万径人踪灭 FFT+manacher

对不连续的对称序列计数显然可以转化为对称序列-连续对称序列 连续对称序列显然可以用manacher算法计算得到:P[i]的和即为连续对称序列的个数 所有对称序列总是关于某条对称轴对称,所以对称点的下标和为定值 另f[i]表示以i为对称轴的点对个数(含自身对称) 显然 其中下标为按manacher规则翻倍之后的下标 而这个布尔表达式我处理不来QAQ。。。 膜了PoPoQQQ题解才知道可

2016-04-13 22:51:07 530

原创 素数路径 Prime Distance On Tree 点分治+FFT

对于这个题,没有什么好用的数学性质,那么考虑统计所有长度的路径条数 路径统计问题不难想到点分治之后统计每个点的路径条数即可 假设之前子树到根的距离集合存为B,其中B[i]表示到根距离为i的有多少条 当前子树为A,那么所有路径生成路径不拿发现符合A*B的卷积形式 即 而且对于一个分治块,路径长度不超过结点个数,因此规模可以降低到同阶 每次对一个子树用FFT计算统计,可以写出如下代码:

2016-04-13 19:30:26 1480

原创 BZOJ4524 [CQOI2016]伪光滑数 可持久化可并堆+DP

很有意思的一个题,可惜爆搜可以A,但考场上我竟然乱搞出这种算法简直呵呵 因为是求第K大所以不难想到用堆的K路归并问题,对答案的种类我们分类,最直观的分类就是按最大因子和分解项数来分类 即用f[i,j]表示最大质因子为p[i],用了j项分解数的数的集合,因为要求数的不重不漏,我们力求让所有的数都由互素的小数集合扩展得到,为了获得之前所有的数,我们保存g[i,j]为f[i,j]的前缀和,意为前i种

2016-04-12 12:52:14 1878

原创 BZOJ1095 [ZJOI2007]捉迷藏 动态点分治

每次修改一个点的黑白状态,询问树上最远黑点距离 拿这个题做动态点分治模板题:(%%%PoPoQQQ大爷) 点分治的过程是对树块找重心之后分成多个小树块,降低规模分别处理的过程,把链的信息收到其中“最高重心”上,从所有的重心处像分治中的不同子树索取到重心的链,就可以覆盖所有链的信息。动态点分治就像把序列分治变成线段树一样,在分治的架子上加了信息维护,实现树链信息维护与查询。 需要什么? 每个

2016-04-11 19:49:07 3729

原创 [CQOI2016]游记

CQOI2016

2016-04-11 19:47:02 981 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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