当前位置: 首页 > news >正文

P1447题解

题目链接

这道题是一道诡异的容斥题。首先我们要确定一个性质,也就是一个点对的gcd就是它的那条线上有几个点。例如点(4,2)到点(0,0)这条线上有2个点。

因此答案其实就是:
\sum_{i=1}^{n} \sum_{j=1}^{m} gcd(i,j)*2-1

但是这样复杂度是不对的。我们可以考虑开一个数组存gcd为i的数对有几个,然后*2-1即可。我们如果不考虑重复的结果就是(n/i) * (m/i),但是如果有i的倍数就会有重复,因此我们要像埃氏筛一样把倍数全部给减掉。

最后公式就会变成:
\sum_{i=1}^{max(n,m)} (i*2-1)*dp[i]

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10;
int n,m,dp[N],ans;
signed main(){cin>>n>>m;for(int i=max(n,m);i>=1;i--){dp[i]=(n/i)*(m/i);for(int j=i*2;j<=max(n,m);j+=i) dp[i]-=dp[j];ans+=(i*2-1)*dp[i];}cout<<ans;return 0;
}

http://www.dtcms.com/a/432481.html

相关文章:

  • 用node.js可以做网站吗用爱奇艺会员做视频网站违法吗
  • 做网站找八埏东莞网络推广服务平台
  • 网站导航条制作组织建设方面
  • 安徽省工程建设安全协会网站WordPress三栏资讯主题
  • 做网站为什么要租服务器深圳搜索竞价账户托管
  • 常州建行网站北京网站seo外包
  • 简单大气的成品网站网站加关键词代码
  • 网站搜索功能怎么实现网站关键词可以添加吗
  • 点菜网站模板网页设计网站规划
  • 网站建设基本流程视频天津做网站比较大的公司
  • win10下win+R和win+E快捷键失灵如何解决
  • wordpress整站密码访问做百度网站的公司哪家好
  • 一个好的网站内页大概做多少兰溪网站建设公司
  • 网站建设工作建议欧洲applestore
  • 万能建站网站点墨网站
  • 有没人做阿里巴巴网站维护的工业设计是冷门专业吗
  • 图书馆网站建设费用眉山网站推广
  • JDBC进阶之连接池的配置(Druid与HikariCP)
  • 网站建设是设计师吗asp网站如何实现伪静态
  • 广州石井做网站wordpress 3d标签
  • 长沙有哪些做的好一点的网站十堰网站建设weitian
  • 专门做食品的网站wordpress小米商城主题
  • 城乡建设管理局网站哪些网站可以做问卷调查
  • wap网站建设学什么wordpress 建站模板
  • 阿里云建设网站教程wordpress内存高
  • 如何用wampp 做网站wordpress怎么挂广告
  • 广州网站建设网站制作公司网页搜索优化
  • 住宅城乡建设部门户网站呼和浩特网站seo优化方案
  • 企业网站源码推荐建筑网校排名前十大品牌
  • python能做网站开发吗昆明网站设计制造