【bzoj2440】【bzoj3994】莫比乌斯反演学习
哇。。原来莫比乌斯代码这么短。。顿时感觉逼格--
写了这道题以后,才稍稍对莫比乌斯函数理解了一些
定理:和
是定义在非负整数集合上的两个函数,并且满足条件
,那么我们得到结论
在上面的公式中有一个函数,它的定义如下:
(1)若,那么
(2)若,
均为互异素数,那么
(3)其它情况下
那么在这道题的情况下,答案所求的是互异素数的乘积,利用容斥原理的思想我们可以发现:这与莫比乌斯函数恰巧是吻合的
首先二分答案(这里一开始我想错了,我一直在想二分选取质数的上界,然后怎么就搞不出来了。。)
首先有一个奇怪的证明是不会超过2n,并不会证,手推几个数果然是这样
二分MID以内有几个符合标准的数,然后答案为X-至少是一种质数平方的个数+至少是两种质数平方的个数……
因为当枚举的X不是互异素数的乘积是,mu[x]=0;否则,若K为奇数,则mu[x]=-1;else mu[x]=1;
这道题明显是懂了莫函数的“互异素数”之后才比较好想到 也可能是我太弱吧..
容斥功底不够..数学能力不够..多写题
#include<cstdio> #include<algorithm> #define M 44723 #define ll long long using namespace std; int tot,k; ,},pri[M],flag[M]; void Euler() { ;i<=M;i++) { )mu[i]=-,pri[++tot]=i; ;j<=tot;j++) { if(pri[j]*i>M)break; flag[pri[j]*i]=; ) { mu[pri[j]*i]=;break; } mu[pri[j]*i]=-mu[i]; } } } int judge(int x) { ; ;i*i<=x;i++) re+=x/(i*i)*mu[i]; return re; } ll work() { ll l=,r=k<<; <r) { ll mid=(l+r)>>; if(judge(mid)>=k)r=mid; else l=mid; } if(judge(l)>=k)return l;else return r; } int main() { int cas;scanf("%d",&cas); Euler(); while(cas--) { scanf("%d",&k); ll ans=work(); printf("%lld\n",ans); } }
07/23
bzoj3994
求n*m范围内的约数个数和。
蒟蒻不是很懂。。。。QAQ只会安利大爷们的题解
【bzoj2440】【bzoj3994】莫比乌斯反演学习的更多相关文章
- 莫比乌斯反演学习笔记+[POI2007]Zap(洛谷P3455,BZOJ1101)
先看一道例题:[POI2007]Zap BZOJ 洛谷 题目大意:$T$ 组数据,求 $\sum^n_{i=1}\sum^m_{j=1}[gcd(i,j)=k]$ $1\leq T\leq 50000 ...
- 莫比乌斯反演学习笔记(转载自An_Account大佬)
转载自An_Account大佬 提示:别用莫比乌斯反演公式,会炸的 只需要记住: [gcd(i,j)=1]=∑d∣gcd(i,j)μ(d)[gcd(i,j)=1]=\sum_{d|gcd(i,j)}\ ...
- 【笔记篇】不普及向——莫比乌斯反演学习笔记 && 栗题HAOI2011 Problem B
Part0 广告(当然没有广告费) P.S. 这篇文章是边学着边用Typora写的...学完了题A了blog也就呼之欲出了~有latex化式子也非常方便...非常建议喜欢Markdown的dalao们 ...
- BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】
2301: [HAOI2011]Problem b Time Limit: 50 Sec Memory Limit: 256 MBSubmit: 4032 Solved: 1817[Submit] ...
- 【BZOJ3994】约数个数和(莫比乌斯反演)
[BZOJ3994]约数个数和(莫比乌斯反演) 题面 求\[\sum_{i=1}^n\sum_{j=1}^md(ij)\] 多组数据\((<=50000组)\) \(n,m<=50000\ ...
- 【BZOJ2440】完全平方数(二分答案,莫比乌斯反演)
[BZOJ2440]完全平方数(二分答案,莫比乌斯反演) 题面 BZOJ 题解 很显然,二分一个答案 考虑如何求小于等于这个数的非完全平方数倍数的个数 这个明显可以直接,莫比乌斯反演一下 然后这题就很 ...
- 莫比乌斯反演/线性筛/积性函数/杜教筛/min25筛 学习笔记
最近重新系统地学了下这几个知识点,以前没发现他们的联系,这次总结一下. 莫比乌斯反演入门:https://blog.csdn.net/litble/article/details/72804050 线 ...
- 【BZOJ-2440】完全平方数 容斥原理 + 线性筛莫比乌斯反演函数 + 二分判定
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2371 Solved: 1143[Submit][Sta ...
- ACM学习历程—HYSBZ 2818 Gcd(欧拉函数 || 莫比乌斯反演)
Description 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的数对(x,y)有多少对. Input 一个整数N Output 如题 Sample Input 4 Sam ...
随机推荐
- eclipse maven新建springMVC项目(原创)
1.配置eclipse maven 2.新建maven项目 3.新建src/main/java,更新pom <project xmlns="http://maven.apache.or ...
- Git命令之上传与同步
操作步骤,可参考:http://blog.csdn.net/chenyufeng1991/article/details/47299461. 1.在本地仓库中,即项目目录下创建文件,如: 2.查看当前 ...
- codevs 1702素数判定2
Miller-Rabin算法实现,但是一直被判题程序搞,输入9999999999得到的结果分明是正确的但是一直说我错 #include <cstdio> #include <cmat ...
- hdu 2027统计元音
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2027 思路:主要考察gets()函数用法,能够接受输入的空格,如果用%s或是cin>>st ...
- MVC - 17.OA项目
1.分层 2.项目依赖关系 MODEL IDAL -> MODEL DAL -> IDAL,MODEL,EntityFramewrok(注意和MODEL里的版本要一致),S ...
- Application.ProcessMessages用法
参考:http://cqujsjcyj.iteye.com/blog/380926 我想你可能还有点模糊.举个例子容易明白:假如你的窗体上有两个按钮,一个“计算”,一个“停止”, 如果你的计算是密集运 ...
- 【JAVA网络流之TCP与UDP 】
一.ServerSocket java.lang.Object |-java.net.ServerSocket 有子类SSLServerSocket. 此类实现服务器套接字.服务器套接字等待请求通过网 ...
- wp8 入门到精通 数据库更新字段(一)
public class UserInfoDB : BaseDB { public UserInfoDB() : base(@"Data Source=isostore:\MakeLove\ ...
- Shell脚本获取C语言可执行程序返回值
#!/bin/sh #./test是c程序,该程序 返回0 ./test OP_MODE=$? echo $OP_MODE # $? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误.
- NDK-gdb
http://www.gnu.org/software/gdb/download/ http://mhandroid.wordpress.com/2011/01/23/using-eclipse-fo ...