传送门

很明显题目要求的东西可以写成$\sum_{i=1}^{n}\sum_{j=1}^m gcd(i,j)*2-1$(一点都不明显)

如果直接枚举肯定爆炸

那么我们设$f[i]$表示存在公因数$i$的数的对数

然而$i$并不一定是这几对数的最大公因数

那么怎么办呢?考虑容斥

以$i$为最大公因数的数的对数,就是有$i$为公因数的数,减去最大公因数为$2*i$的数,减去为$3*i$的数……

那么这个就可以一波容斥求出来了

时间复杂度为$O(nlogn)$

 1 //minamoto
 2 #include<cstdio>
 3 #define ll long long
 4 const int N=1e5+5;
 5 ll f[N],ans;int n,m;
 6 int main(){
 7     scanf("%d%d",&n,&m);
 8     if(n>m) n^=m^=n^=m;
 9     for(int i=n;i;--i){
10         f[i]=1ll*(n/i)*(m/i);
11         for(int j=i<<1;j<=n;j+=i) f[i]-=f[j];
12         ans+=((i<<1)-1)*f[i];
13     }
14     printf("%lld\n",ans);
15     return 0;
16 }

转载于:https://www.cnblogs.com/bztMinamoto/p/9683794.html

洛谷P1447 [NOI2010]能量采集(容斥)相关推荐

  1. P1447 [NOI2010] 能量采集

    P1447 [NOI2010] 能量采集 题意: 如果一棵植物与能量汇集机器(坐标为0,0)连接而成的线段上有 k 棵植物,则能量的损失为 2k + 1 给你一个n*m的植物园,问能量损失是多少 1& ...

  2. (每日一题)P1447 [NOI2010] 能量采集(莫反套路 + 欧拉反演 / 容斥原理)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 每日一题(莫反 / 多项式 / 母函数 / 群论) 2021.4.19 莫反 Problem Solu ...

  3. P1447 [NOI2010]能量采集(mobius反演)

    P1447 [NOI2010]能量采集 式子化简 显然题目就是要我们求∑i=1n∑j=1m2gcd(i,j)−1\sum_{i = 1} ^{n} \sum_{j = 1} ^{m} 2gcd(i, ...

  4. 洛谷P3349:小星星(容斥dp)

    解析 先安利一波洛谷上我介绍如何用暴力日过去的博客 现在开始务正业 考虑把dp记录状态的一维s去掉 这样单次转移复杂度变成n3n^3n3 但是这样显然会算多啊! 因为一个编号可能会用很多次 考虑容斥 ...

  5. BZOJ 2005: [Noi2010]能量采集( 数论 + 容斥原理 )

    一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) *  2 - 1. 设g(i)为 gcd(x, y) = i ( 1 <= x <= ...

  6. [NOI2010]能量采集

    469. [NOI2010]能量采集 ★★☆   输入文件:energy2010.in   输出文件:energy2010.out   简单对比 时间限制:1 s   内存限制:512 MB [问题描 ...

  7. bz2005 2005: [Noi2010]能量采集 数学题

    2005: [Noi2010]能量采集 Time Limit: 10 Sec  Memory Limit: 552 MB Submit: 2494  Solved: 1475 [Submit][Sta ...

  8. BZOJ2005: [Noi2010]能量采集 莫比乌斯反演的另一种方法——nlogn筛

    分析:http://www.cnblogs.com/huhuuu/archive/2011/11/25/2263803.html 注:从这个题收获了两点 1,第一象限(x,y)到(0,0)的线段上整点 ...

  9. bzoj2005: [Noi2010]能量采集

    不知道什么算法. 首先求一颗植物(i,j)与能量采集器的连线上有几颗植物. 答案是(gcd(i,j)-1),设i'= i/gcd(i,j),j'=j/gcd(i,j). 则这几颗植物是(i'k,j'k ...

  10. [2019.1.14]BZOJ2005 [Noi2010]能量采集

    以下设\(n\ge m\). 首先,一个点\((x,y)\)到\((0,0)\)的路径上经过的点的数量(不包括首尾)为\(gcd(x,y)-1\). 所以它的能量损耗为\(2\times gcd(x, ...

最新文章

  1. 与其羡慕他人精彩,还不如设法活出自我
  2. OA办公系统使用之:Tomcat与mysql的几个常见问题
  3. python函数调用键盘热键_神技能:Python控制键盘鼠标
  4. centos6.4修改网卡名
  5. day2---while else
  6. linux二重启动防止
  7. LINUX REDHAT第九单元文档
  8. Intellij IDEA IDE 运行Sphinx-4 DEMO helloworld出现空...
  9. My97DatePicker 开始日期不能大于 结束日期
  10. java-php-python-ssm在线购书商城系统计算机毕业设计
  11. nodejs+vue+elementui房屋租赁网站系统 python协同过滤推荐系统
  12. oracle多表关联索引用法,关联表查询和索引使用的探讨一则
  13. SpringBoot:整合Solr
  14. 服务器封包协议号,DHCP协议的租约确认和封包格式
  15. POP3 SMTP 协议分析
  16. wordpress企业网站模板
  17. C# Contract诊断
  18. Maven插件wagon-maven-plugin自动化部署Java项目到Linux远程服务器
  19. 计算机教学研修心得英语,2020英语教师继续教育学习心得体会范文(精选4篇)...
  20. 云游戏能成为5G第一个杀手级应用吗?

热门文章

  1. 理解 Delphi 的类(十) - 深入方法[8] - 如果忘了返回值
  2. 虚拟机安装苹果系统_开源神器:助你快速安装苹果虚拟机!
  3. PHP字符串作为字节数组,哈希hash然后base64编码
  4. proto3文件定义Demo-用户表单条、多条、所有、编辑
  5. mysql介绍索引类型的章节_MySQL索引类型介绍
  6. 让wordpress判断是电脑端浏览还是移动端浏览
  7. 梦笔记2022-2-10
  8. 全网首发:Undefined symbols for architecture x86_64: “std::__1::locale::use_facet(std::__1::locale::id)
  9. LINUX编译spandsp
  10. LINUX下载编译libcurl