自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 HDU 5468 Puzzled Elena (容斥)

题意:给一个有根树(树根为11),每一个节点有一个点权(1<=w[i]<=1051<=w[i]<=10^5),问一个节点uu与它的子树上面所有节点互素的数有都少个?分析:暴力判断每一个节点与它所有子树上面的点互素的数的个数,暴力找出cnt[d]cnt[d]:这个子树中dd的倍数的个数。那么接下来可以容斥或者莫比乌斯反演搞定。对于每一个uu,都要维护所有的cnt[d]cnt[d]怎么搞定? 由于遍历

2015-10-31 01:11:32 625 2

原创 BZOJ 2956 模积和 (分块加速)

∑i=1n∑1<=j<=m,j≠i(n mod i)∗(m mod j)=∑i=1n∑1<=j<=m,j≠i(n−⌊ni⌋)∗(m−⌊mj⌋)=∑i=1n∑1<=j<=m,j≠i(n−⌊ni⌋)∗(m−⌊mj⌋)=∑i=1n(n−⌊ni⌋)∗∑1<=j<=m,j≠i(m−⌊mj⌋)=∑i=1n(n−⌊ni⌋)∗∑j=1m(m−⌊mj⌋)−∑i=1min(n,m)(n−⌊ni⌋)∗(m−⌊mj⌋)=(

2015-10-29 23:28:46 1128 4

原创 51nod 1190 最小公倍数之和 V2(莫比乌斯反演)

题意: 给定1<=a<=b<=109,求∑i=ablcm(i,b)?给定1<=a<=b<=10^9,求\sum_{i=a}^blcm(i,b)? 分析: ∑i=ablcm(i,b)=∑i=abi∗bgcd(i,b)=b∗∑d∑a<=i<=bid∗(gcd(i,b)=d)=b∗∑d|b∑⌈ad⌉<=i<=bdi∗(gcd(i,bd)=1)=b∗∑d|b∑⌈ad⌉<=i<=bdi∗∑d′|gcd(i

2015-10-29 16:27:59 1819

原创 HDU 4676 Sum Of Gcd(莫队+莫比乌斯反演)

来看答案怎么求? ∑i=LR∑j=i+1Rgcd(a[i],a[j])=∑i=LR∑j=i+1R∑d|gcd(a[i],a[j])ϕ(d)=∑dϕ(d)∑i=L,d|a[i]R∑j=i+1,d|a[j]R1\sum_{i=L}^R\sum_{j=i+1}^Rgcd(a[i],a[j]) =\sum_{i=L}^R\sum_{j=i+1}^R\sum_{d|gcd(a[i],a[j])}\p

2015-10-28 00:02:28 899

原创 SPOJ NUMTRYE (gcd)

看ACdreamers大神博客学习数论知识。大家都能想到的东西:g(n)=∑d|nnd∗ϕ(nd)=∑d|nd∗ϕ(d)g(n)={\sum_{d|n}{n\over{d}}*\phi({n\over{d}})}=\sum_{d|n}{d}*\phi(d)n=pα11∗pα22∗...∗pαkkn=p_1^{\alpha_1}*p_2^{\alpha_2}*...*p_k^{\alpha_k}此时有

2015-10-27 18:32:37 678

原创 HDU 4675 GCD of Sequence (莫比乌斯反演)

题意:给nn个数,a1,a2,...,ana_1,a_2,...,a_n,其中1<=ai<=M1<=a_i<=M,找出所有的满足条件的序列b1,b2,...,bnb_1,b_2,...,b_n使得gcd(b1,b2,...,bn)=dgcd(b_1,b_2,...,b_n)=d,其中1<=bi<=M1<=b_i<=M,且序列{bib_i}中有且仅有kk个bi!=aib_i!=a_i。f(d)f(d)

2015-10-25 23:55:05 1616

原创 SPOJ VLATTICE Visible Lattice Points (莫比乌斯反演)

此题意思很简单:在N∗N∗NN*N*N的正方体中,有多少整点不能被(0,0,0)(0,0,0)看到。如果一个点(x,y,z)(x,y,z)不能被(0,0,0)(0,0,0)看到,那么一定有一个节点(x′,y′,z′)(x',y',z')在(0,0,0)(0,0,0)到(x,y,z)(x,y,z)的连线上,那么gcd(x,y,z)!=1gcd(x,y,z)!=1,反之,如果 gcd(x,y,z)=1

2015-10-24 23:55:08 380

原创 ZOJ 3868 GCD Expectation(莫比乌斯反演)

题意就是求序列的所有gcdgcd的kk次方和。f(d)f(d)表示d=gcd(x1,x2,...,xm)d=gcd(x1,x2,...,xm)的组数。F(d)F(d)表示d|gcd(x1,x2,...,xm)d|gcd(x1,x2,...,xm)的组数。F(x)=∑x|df(d)F(x)=\sum_{x|d}f(d)f(x)=∑x|dμ(dx)∗F(d)f(x)=\sum_{x|d}{\mu({{d

2015-10-24 23:45:39 665

原创 HYSBZ 2818 (莫比乌斯反演)

感觉这道题很不错,莫比乌斯反演学习的是这篇博客:ACdreamers。 正好是里面的例题可以加深理解。设f(d)f(d)为d=gcd(x,y)d=gcd(x,y)满足的对数。 设F(d)F(d)为d|gcd(x,y)d|gcd(x,y)满足的对数。F(d)=⌊nd⌋∗⌊nd⌋F(d)=\lfloor{n\over{d}}\rfloor*\lfloor{n\over{d}}\rfloorF(x)=

2015-10-24 23:27:17 1788

原创 HDU 4746 Mophues(莫比乌斯反演)

这道题是跟着秦总博客学的:附上链接:秦总博客用f(d)f(d)表示满足d=gcd(x,y)d=gcd(x,y)且1<=x<=n,1<=y<=m1<=x<=n,1<=y<=m的对数。用F(d)F(d)表示满足d|gcd(x,y)d|gcd(x,y)且1<=x<=n,1<=y<=m1<=x<=n,1<=y<=m的对数。可知:F(d)=⌊nd⌋∗⌊md⌋F(d)=\lfloor\frac{n}{d}\rf

2015-10-24 09:36:48 1454

原创 HDU 1695 GCD(莫比乌斯反演)

原来用容斥写过一次,用莫比乌斯写明显快多了。莫比乌斯反演: 设f(d)f(d)代表满足d=gcd(x,y)d = gcd(x,y)的(x,y)(x,y)的对数。 设F(d)F(d)代表满足d|gcd(x,y)d|gcd(x,y)的(x,y)(x,y)的对数。 我们可以得到: F(n)=∑n|df(d)F(n)=\sum_{n|d}{f(d)} 由莫比乌斯反演得到: f(n)=∑n|dμ(

2015-10-22 22:51:46 592

原创 2015长春现场赛感想

我的第二场区域赛,虽然这场的表现没有达到预期,但是还是拿到了银牌,还是很开心的。 周六一个大早起床去火车站,10路车第二辆上的,531又等了2辆过去,终于在第三辆坐上了公交,由于我的身份信息不符合要求,所以自己买的票(学校报销高铁票好良心),然后我一个人在一个在不同的车厢待到了长春。 到了长春,时间已经到了开幕式的时间,然后没有吃午饭就直接去的现场,结果还是没有赶

2015-10-19 22:08:25 1266

原创 POJ 1987 Distance Statistics (树的分治)

这次整理模板整理到分治,然后就补了一道分治的题目: 这题和POJ 1741一样的题。 上次写树的分治,感觉是一种很厉害的数据结构,现在看来,其实是很简单的一种分治思想而已。 为什么每次都要找重心?因为这样每一个小子树的节点数<=n/2<=n/2所以递归计算的层数最多是o(logn),每一层计算合法点对个数,需要dfs一当前子树的所有结点o(n),计算所有节点到根的距离,然后按距离长度排序o(n

2015-10-13 21:24:16 580

原创 数论学习初步(容斥原理学习&&hdu 1695&&hdu 5072)

这个周末做的鞍山站的现场赛的题,深深感觉自己数论知识太薄弱,现在来补估计也太难了,毕竟这个周末就是长春站了,然后就主要把容斥学习了一下。然后这篇文章再把自己知道的简单的数论知识小结一下。首先是线性筛素数: 两种筛法:1:大白皮上面介绍的,没什么好说的。 2:用已有的素数来筛: 附上代码:bool vis[maxn]; int prime[maxn];//prime[0]存的是素数的个数void

2015-10-13 16:18:03 492

原创 POJ 3709 K-Anonymous Sequence (斜率优化DP)

首先我们写出DP方程: dp[i]=min(dp[j]+w[j][i]|0<=j<=i−k)dp[i] = min (dp[j] + w[j][i] | 0 <= j <= i-k) 其中w[j][i]=sum[i]−sum[j]−c[j+1]∗(i−j)w[j][i] = sum[i]-sum[j]-c[j+1]*(i-j)这里面的c[i]c[i]代表第ii个数。 对于k<j<i−k+1k

2015-10-11 00:15:18 495

原创 HDU 5445 Food Problem (2015年长春站网络赛1009 多重背包DP)

这道题给我最大的启示就是学习一定要脚踏实地!!!原来我觉得背包DP应该是随手写的,赛场上并没有看这题,今天打算再补补题,发现这道裸的背包DP居然不怎么会写,然后默默地又把背包DP翻了一下。。。 题目很简单:总的来说做两次背包就搞定了。 两个模型: 1:n个物品,每个物品价值为t[i],占的空间为u[i],数量为v[i],要取其中的某些物品使得总价值>=p,所占空间最小。 2:m个物品,每个物

2015-10-10 00:00:02 695

原创 BNUOJ 24253 (弱校联盟第7天E题)

这道题比赛的时候并没有AC,赛后看别人博客学会的,其实我一开始的思路还是比较像的,这道题看到的第一眼想到了网络赛的那个单点修改的,因为Mod不是质数,但是题目说了单点除的数在前面一定会出现一个乘这个数,所以连线搞就好了,然后这题并不能这样做。然后我就想着把Mod质因数分解,如果Mod = p1 * p2 * … Pn这种,所有质数的指数都是1的话,这个时候直接维护每一个质数的模的乘积,然后最后答案用

2015-10-08 11:53:09 426

原创 弱校联盟国庆第二天 D题

据说是一道很裸的树链剖分,但是我感觉树链剖分并不是很好写。。。然后就行LCT写了,很裸的LCT,但是这道题居然RE, dfs爆栈了,然后我把vector存边换成结构体居然就过了!!!大家好像是dfs的时候把根换点就能过了。 本题题意:有两个操作,1:把u->v的链上的点全部变成w。2:找出u->v这条链上最大非空区间和,这个就是把左右两段合起来。 附上ac代码:#include <cstring

2015-10-03 22:55:44 372

原创 弱校联盟国庆第一天 I题

学习的叉姐的写法: 这里写链接内容 叉姐代码 这道题主要问题就是a > b的时候 1-n这条边边权是a怎么搞?赛场上一直搞不定,不能把补图给存下来。然后叉姐用一个mark数组解决了问题Orz。默默地学习了一下。然后就是一个跑补图的过程,用一个数据结构维护一下没有被更新的点,那么最差的复杂度是o(∑ni=1i)o(\sum_{i=1}^ni)但是随着n的增加,这个复杂度就很难到达了,因为m <=

2015-10-03 20:01:19 414

空空如也

空空如也

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

TA关注的人

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