hdu4746 Mophues (莫比乌斯进阶)】的更多相关文章

/** 题目:hdu4746 Mophues 链接:http://acm.hdu.edu.cn/showproblem.php?pid=4746 题意:求x,y在给定范围内gcd(x,y)分解素因子的个数<=p的对数. (n, m, P <= 5×105. Q <=5000). 思路: f(n)表示给定范围内gcd(x,y)==n的对数. g(n)表示给定范围内gcd(x,y)为n的倍数的对数. f(n) = sigma[n|d]mu[d/n]*g(d) = sigma[n|d]mu[d…
参考博客:https://blog.csdn.net/acdreamers/article/details/12871643 题意:满足1<=x<=n,1<=y<=m,并且gcd(x,y)的因子小于p的(x,y)对数 分析:先把1到1e5的因子个数预处理出来.设P(x)=(n/x)*(m/x),G(x)答案中P(x)的系数,可以预先求出对于某个p的所有P(x),然后再用分块加速求出最后的ans 代码: #include <bits/stdc++.h> using nam…
Description As we know, any positive integer C ( C >= 2 ) can be written as the multiply of some prime numbers:      C = p1×p2× p3× ... × pk  which p1, p2 ... pk are all prime numbers.For example, if C = 24, then:      24 = 2 × 2 × 2 × 3      here, p…
Mophues 题意:给出n, m, p,求有多少对a, b满足gcd(a, b)的素因子个数<=p,(其中1<=a<=n, 1<=b<=m) 有Q组数据:(n, m, P <= 5×105. Q <=5000). 参考:ACdreamers 思路:对于hdu1695 GCD来说,由于只需要求gcd = k的个数,所以我们可以按照不优化莫比乌斯公式直接求,这样求解的时间复杂度为O(n); 若这题我们也不优化,答案累加需要双重循环: rep1(i,,n){ if(n…
Mophues Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327670/327670 K (Java/Others) Total Submission(s): 980    Accepted Submission(s): 376 Problem Description As we know, any positive integer C ( C >= 2 ) can be written as the multiply of…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4746 题意:给出n, m, p,求有多少对a, b满足gcd(a, b)的素因子个数<=p,(其中1<=a<=n, 1<=b<=m) 分析: 设A(d):gcd(a, b)=d的有多少种      设B(j): gcd(a, b)是j的倍数的有多少种,易知B(j) = (n/j)*(m/j)      则由容斥原理得:(注:不同行的μ是不相同的,μ为莫比乌斯函数)      A(…
分析: http://blog.csdn.net/acdreamers/article/details/12871643 分析参见这一篇 http://wenku.baidu.com/view/fbe263d384254b35eefd34eb.html 分块看这一篇 #include<cstdio> #include<cstring> #include<queue> #include<cstdlib> #include<algorithm> #i…
Mophues Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 327670/327670 K (Java/Others)Total Submission(s): 1922    Accepted Submission(s): 791 Problem Description As we know, any positive integer C ( C >= 2 ) can be written as the multiply of…
这道题看巨巨的题解看了好久,好久.. 本文转自hdu4746(莫比乌斯反演) 题意:给出n, m, p,求有多少对a, b满足gcd(a, b)的素因子个数<=p,(其中1<=a<=n, 1<=b<=m) 分析:设A(d):gcd(a, b)=d的有多少种      设B(j): gcd(a, b)是j的倍数的有多少种,易知B(j) = (n/j)*(m/j)      则由容斥原理得:(注:不同行的μ是不相同的,μ为莫比乌斯函数)      A(1) = μ(1)*B(1)…
Mophues \[ Time Limit: 10000 ms\quad Memory Limit: 262144 kB \] 题意 求出满足 \(gcd\left(a,b\right) = k\),其中\(1\leq a\leq n,1\leq b \leq m\)且 \(k\) 的因子数 \(\leq P\) 思路 \(g\left(x\right)\) 表示 \(gcd\left(a, b\right) | x\) 的对数 \(f\left(x\right)\) 表示 \(gcd\left…
题意: 有5000组询问,每组询问求有多少i,j满足i∈[1,n],j∈[1,m]且gcd(i,j)的质因子数目<=p. n,m<=500000 思路: 首先预处理出每个数的质因子数目分别等于多少,则问题转化为求给定区间内,gcd等于某一堆数的i,j有多少组 发现很像一个基础莫比乌斯反演题:hdu1695.但是此题在某组询问中可能要处理很多个gcd,所以需要进行一些预处理 我们首先筛出每个数的莫比乌斯函数和它的质因子个数 通过容斥的公式可以看出如果要求的gcd为d,那么d*i的倍数对答案的贡献…
http://blog.csdn.net/mowayao/article/details/38875021 题意: 5000组样例. 问你[1,n] 和 [1,m]中有多少对数的GCD的素因子个数小于p. 思路: 首先考虑一个相对简单的版本: [1,a] 和 [1,b] 有多少对的数  满足GCD <= d 首先定义两个函数:A(a,b,d) 表示 GCD(a,b) = d的对数,B(a,b,d)表示GCD(a,b) 是d的倍数的对数 易得 B(a,b,d) = (a/d)*(b/d) 根据容斥…
题意:求\(1\leq i \leq N,1\leq j \leq M,gcd(i,j)\)的质因子个于等于p的对数. 分析:加上了对质因子个数的限制. 设\(f(d):[gcd(i,j)=d]\) , \(F(d):[d|gcd(i,j)]\) ,k是满足质因子<=p的数. 则\(ans = \sum_{k}f(k) = \sum_{k}\sum_{k|d}u(\frac{d}{k})\lfloor \frac{N}{d}\rfloor \lfloor\frac{M}{d}\rfloor =…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4746 题意: 1≤x,y≤n , 求gcd(x,y)分解后质因数个数小于等k的(x,y)的对数. 分析: 莫比乌斯反演. 还是一个套路,我们设 f(d):满足gcd(x,y)=d且x,y均在给定范围内的(x,y)的对数. F(d):满足d|gcd(x,y)且x,y均在给定范围内的(x,y)的对数. 显然F(x)=[n/x]∗[m/x],反演后我们得到 f(x)=∑x|dμ(d/x)[n/d]∗[m…
第二次做这题,求前缀和的时候还是卡住了 fg函数的反演是可以直接用莫比乌斯基本代换式来代换的 #include<bits/stdc++.h> using namespace std; #define maxn 500005 #define ll long long bool vis[maxn]; int mu[maxn],prime[maxn],mm,num[maxn]; void init(){//顺便筛出每个数的质因子个数 mu[]=;num[]=; ;i<maxn;i++){ if…
学了莫比乌斯反演之后对初阶问题没有任何问题了,除法分块也码到飞起,但是稍微变形我就跪了.用瞪眼观察法观察别人题解观察到主要内容除了柿子变形之外,主要就是对于miu函数的操作求前缀和.进而了解miu函数,miu函数是在这个数是否有平方因子的个数,每次推的套路是先用欧拉筛筛出来所有需要的函数,然后用每次需要用到的函数进行累计迭代加到前缀和,二次过筛,然后堆起来前缀和,用除法分块就行了,这个方法屡试不爽. 两道题,一道是洛谷P2257 YY的GCD 这道题求的是1-n和1-m区间内gcd为质数的个数,…
题意: \(Q\leq5000\)次询问,每次问你有多少对\((x,y)\)满足\(x\in[1,n],y\in[1,m]\)且\(gcd(x,y)\)的质因数分解个数小于等于\(p\).\(n,m,p\leq5e5\). 思路: 题目即求 \[\sum_{k}\sum_{i=1}^n\sum_{j=1}^m[gcd(i,j)=k]\quad,k满足质因数个数\leq p \] 令\(f(n)\)为\(gcd\)为\(n\)的对数,\(F(n)\)为\(gcd\)为\(n\)倍数的对数. 由莫比…
1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABASE mydb1; mysql> SHOW DATABASES; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | mydb1 | | performance_sch…
我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file.js 在上一篇文章nodejs进阶3-路由处理中有完整的内容) readImg:function(path,res){         fs.readFile(path,'binary',function(err,  file)  {             if  (err)  {        …
一:写在前面的问题和话 一个javascript初学者的进阶之路! 背景:3年后端(ASP.NET)工作经验,javascript水平一般般,前端水平一般般.学习资料:犀牛书. 如有误导,或者错误的地方,欢迎大神在评论区说明,指正.不接受无端的漫骂!!!! 二:正文 Javascript的面向对象 面向对象:封装,继承,多态. 上面先不说,我们学习后端语言的时候,老师都会告诉我们,对象是什么,比如,老师会说,对象你可以理解成为你的女朋友(对象),你女朋友的年龄,名字,职业,罩杯都是他的属性. 比…
1. url.parse(url)解析 该方法将一个URL字符串转换成对象并返回. url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) 接收参数: urlStr                                       url字符串 parseQueryString                   为true时将使用查询模块分析查询字符串,默认为false 我们通过解析HTTP请求,从中提取出请求的URL以及…
1. get请求参数接收 我们简单举一个需要接收参数的例子 如果有个查找功能,查找关键词需要从url里接收,http://localhost:8000/search?keyword=地球.通过前面的进阶3教程<nodejs进阶(3)—路由处理>重介绍的url模块,我们知道接收方法如下这样写 //----------------6_param------------------------------------       var http = require('http');        …
下面将带领大家一步步学习nodejs,知道怎么使用nodejs搭建服务器,响应get/post请求,连接数据库等. 搭建服务器页面输出hello world var  http  =  require('http');   http.createServer(function  (request,  response)  {       response.writeHead(200,  {'Content-Type':  'text/html;  charset=utf-8'});       …
LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> 接口或 IQueryable<T> 接口.标准查询运算符提供了包括筛选.投影.聚合.排序等功能在内的查询功能.        各个标准查询运算符在执行时间上有所不同,具体情况取决于它们是返回单一值还是值序列.返回单一值的方法(例如 Average 和 Sum)会立即执行.返回序列的方法会延迟查询…
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). 本文目标是帮助 Java 程序员了解中级程序员应有的水平,避免陷入唯"高技术.新概念"的陷阱.Java 编程入门相对比较容易(推荐:Java入门教程).学完语法后,很多人希望作一些进阶学习,开始编写网站.访问数据库等应用.然而,当程序比较多时,你又觉得 Java 程序很复杂.因此,我们有…
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解 ,这篇博文内容本身很基础,没想到引起很多园友关注,感谢大家的支持.作为程序猿,我们都知道参数和返回值是编程领域不可分割的两大块,此前分享了下WebApi的传参机制,今天再来看看WebApi里面另一个重要而又基础的知识点:返回值.还是那句话:本篇针对初初使用WebApi的同学们,比较基础,有兴趣的且看…
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:http://mp.weixin.qq.com/s/3FTPFvZRqyAQnU047kmWJQ 1.4进阶:内存原理 在上一节里,我们通过深入调查Dalvik虚拟机的方式,解决了Dalvik Heap Pss消耗内存过高的问题.除了Dalvik Heap Pss部分,应用还有其他许多消耗内存的部分.本节里我们就主要介绍其他这些部分的内存是如何被分配和消耗的. 同样以我们的应用为例,在几个版本之后,新加入了一个缓存功能…
Membership 三步曲之进阶篇 - 深入剖析Provider Model 本文的目标是让每一个人都知道Provider Model 是什么,并且能灵活的在自己的项目中使用它. Membership三步曲之入门篇 - Membership 基础示例 Membership三步曲之进阶篇 - 深入剖析Provider Model Membership三步曲之高级篇 -  从Membership 到 .NET 4.5 之 AspNet.Identity 在入门篇中我们已经从0开始将Membersh…
在掌握了基础的 Git 使用 之后,可能会遇到一些常见的问题.以下是猫哥筛选总结的部分常见问题,分享给各位朋友,掌握了这些问题的中的要点之后,git 进阶也就完成了,它包含以下部分: 如何修改 origin 仓库信息 如何配置 git ssh keys 如何撤销修改 遇到冲突了怎么解决 git stash / alias / submodule 的使用问题等 问:如何修改 origin 仓库信息? 1.添加 origin 仓库信息 git remote add origin <git仓库地址>…
在使用 flow.ci 进行持续集成的过程中,也许你会遇到一些小麻烦.最近我们整理了一些常见问题在 flow.ci 文档之 FAQ,希望对你有用.如果你遇到其他问题,也可以通过「在线消息」或去 Gitter群 给我们反馈 :) 这期 CI Weekly 收录了一些CI/CD进阶线路.具体实践.Dcker/微服务.DevOps相关的技术分享,一起看看~ 『CI/CD进阶路线/相关实践 』 The Continuous Delivery Maturity Model 如何评估 CI / CD 导入的…