自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

beginend

只要在路上,就没有到不了的远方

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

原创 bzoj 2242: [SDOI2011]计算器 BSGS

题意你被要求设计一个计算器完成以下三项任务: 1、给定y,z,p,计算Y^Z Mod P 的值; 2、给定y,z,p,计算满足xy≡ Z ( mod P )的最小非负整数; 3、给定y,z,p,计算满足Y^x ≡ Z ( mod P)的最小非负整数。 对于100%的数据,1<=y,z,p<=10^9,为质数,1<=T<=10。分析第一问乱搞,第二问用拓展欧几里得,第三问用BSGS(baby

2017-01-21 21:40:00 422

原创 bzoj 3944: Sum 杜教筛

题意分析直接用线性筛来求肯定不行,我们考虑别的方法。先来考虑ans2吧先来考虑ans2吧设S(n)=∑ni=1μ(i)设S(n)=\sum_{i=1}^n\mu(i)根据μ的性质∑d|iμ(d)=0(i>1)或1(i=1)可得根据\mu的性质\sum_{d|i}\mu(d)=0(i>1)或1(i=1)可得∑ni=1∑d|iμ(d)=1\sum_{i=1}^n\sum_{d|i}\mu(d)=1∑ni

2017-01-21 12:18:48 598

原创 bzoj 4407: 于神之怒加强版 莫比乌斯反演

题意给出n,m,k求 多组数据 n,m<=5000000,T<=2000分析设d=gcd(i,j)设d=gcd(i,j)那么ans=∑nd=1dk∗f(d)那么ans=\sum_{d=1}^{n}d^k*f(d)f(d)表示1<=i<=n,1<=j<=m中gcd(i,j)=d的(i,j)对数f(d)表示1<=i<=n,1<=j<=m中gcd(i,j)=d的(i,j)对数反演后可得ans=∑n

2017-01-20 11:54:12 402

原创 bzoj 3667: Rabin-Miller算法 素数测试

题意你需要对于每个数字:第一,检验是否是质数,是质数就输出Prime 第二,如果不是质数,输出它最大的质因子是哪个。 保证是在64位长整形范围内的正数。分析Miller_Rabin素数测试: 费马小定理:若p是质数且a!|p则ap−1modp=1a^{p-1} mod p=1 二次探测定理:若a2modp=1且a!=1,a!=p−1则p必为合数a^2 mod p=1且a!=1,a!=p-1则

2017-01-19 08:02:21 787

原创 bzoj 2693: jzptab 莫比乌斯反演

题意 n,m<=10000000,T<=10000分析bzoj 2154的加强版 再次膜拜Po神 题解代码#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #define ll long long using namespace std;const int MA

2017-01-17 22:30:40 294

原创 bzoj 2154: Crash的数字表格 莫比乌斯反演

题意求∑ni=1∑mj=1lcm(i,j)\sum_{i=1}^n\sum_{j=1}^mlcm(i,j) n,m<=10000000分析题解见Po神的论文 或者看这篇比较详细的博客 恩全OJ倒数第二……代码#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<algorithm> #d

2017-01-17 20:49:11 523

原创 bzoj 3529: [Sdoi2014]数表 莫比乌斯反演+树状数组

题意有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为能同时整除i和j的所有自然数之和。给定a,计算数表中不大于a的数之和。 1 < =N.m < =10^5 , 1 < =Q < =2×10^4分析多做了几道反演题终于找到了一点所谓的套路了,也就是把式子化简之后求前缀和然后用分块处理。直接上PoPoQQQ大佬%%%的题解代码#include<iostr

2017-01-16 11:10:24 360

原创 bzoj 2820: YY的GCD 莫比乌斯反演

题意给出n,m,求有多少数对(x,y)满足gcd(x,y)为质数 n,m<=10000000 多组数据T<=10000分析设g(d)表示1<=x<=n,1<=y<=m中gcd(x,y)=d的数对数量设f(d)表示1<=x<=n,1<=y<=m中d|gcd(x,y)的数对数量显然f(d)=∑d|ng(n)=⌊nd⌋∗⌊md⌋f(d)=\sum_{d|n}g(n)=\lfloor \frac{n}{

2017-01-15 20:54:05 421 1

原创 codeforces 173E 组队 线段树+离线

题意Bsny所在的精灵社区有n个居民,每个居民有一定的地位和年龄,ri表示第i个人的地位,ai表示第i个人的年龄。 最近社区里要举行活动,要求几个人分成一个小组,小组中必须要有一个队长,要成为队长有这样的条件: 1、队长在小组中的地位应该是最高的(可以并列第一); 2、小组中其他成员的年龄和队长的年龄差距不能超过K。 有些人想和自己亲密的人组在同一个小组,同时希望所在的小组人越多越好。比如x

2017-01-14 20:37:18 435

原创 51nod 1406 与查询 二进制+暴力

题意有n个整数。输出他之中和x相与之后结果为x的有多少个。x从0到1,000,000 n<=1000000分析一开始想的是各种容斥原理乱搞,后来听了lzy大神的讲解才明白。一种很显然的做法就是对于每一个数枚举它的所有子集去更新,但这样会产生重复的情况,例如1101->1001,1100->1000这样的话1000就会被算两次。但我们考虑到每一个子集内的数都可以被原来的数从高位到低位依次去掉若干个1

2017-01-12 19:21:34 685

原创 bzoj 3143: [Hnoi2013]游走 期望dp+高斯消元

题意给出一个n个点的无向图,要求给每条边标号1-m,每条边的长度即为标号,问从1走到n的最小期望步数是多少。 n<=500分析一开始没有思路。显然要求出每一条边的期望走过次数,然后从多到少编号。 那么我们可以先求出每个点的期望到达次数p[i] 显然有p[i]=∑j可以到达ip[j]/d[j]p[i]=\sum_{j可以到达i}p[j]/d[j] 特殊的是p[1]还要+1 d[j]表示j的度

2017-01-12 15:03:55 331

空空如也

空空如也

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

TA关注的人

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