NOI 能量采集
/**
大意: 求解 在[1,n] x, [1,m] y,之间有多少个gcd(x,y) = d d = min(n,m)
思路: 对于任意一个d 在[1,n] x, [1,m] y, gcd(x,y) 含有d 因子的个数为 n/i * m/i 这是所有含有因子d的组合的个数 , 再减去 gcd(x,y) = 2*d , gcd(x,y) = 3*d, gcd(x,y) = 4*d。。。那么最后得到的就是最大公约数为d的组合的个数 siga( 1-n ) * siga(1-m) 2* (gcd(x,y)-1) + 1 ===>siga( 1-n(x) ) * siga(1-m(y)) 2* (gcd(x,y)-1) + n*m
**/
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std; long long cnt[]; int main()
{
long long n,m;
while(cin>>n>>m){
memset(cnt,,sizeof(cnt));
int t = min(n,m);
for(int i=;i<=t;i++)
cnt[i] = (n/i)*(m/i);
for(int i=t;i>=;i--){
for(int k=;k*i<=t;k++)
cnt[i] -= cnt[i*k];
}
long long ans =;
for(int i=;i<=t;i++)
ans += *(i-)*cnt[i];
ans += n*m;
cout<<ans<<endl;
}
return ;
}
NOI 能量采集的更多相关文章
- BZOJ2005: [Noi2010]能量采集(容斥原理 莫比乌斯反演)
Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 4727 Solved: 2877[Submit][Status][Discuss] Descript ...
- BZOJ 2005: [Noi2010]能量采集
2005: [Noi2010]能量采集 Time Limit: 10 Sec Memory Limit: 552 MBSubmit: 3312 Solved: 1971[Submit][Statu ...
- noi2010 能量采集
2005: [Noi2010]能量采集 Time Limit: 10 Sec Memory Limit: 552 MB Submit: 3068 Solved: 1820 [Submit][Sta ...
- 2005: [Noi2010]能量采集 - BZOJ
Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得 ...
- bzoj2005: [Noi2010]能量采集
lsj师兄的题解 一个点(x, y)的能量损失为 (gcd(x, y) - 1) * 2 + 1 = gcd(x, y) * 2 - 1. 设g(i)为 gcd(x, y) = i ( 1 < ...
- 【BZOJ 2005】[Noi2010]能量采集
Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得 ...
- 【BZOJ 2005】[Noi2010]能量采集 (容斥原理| 欧拉筛+ 分块)
能量采集 Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋 ...
- BZOJ 2005 能量采集
Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得 ...
- 数学(动态规划,GCD):COGS 469. [NOI2010]能量采集
能量采集 ★★☆ 输入文件:energy2010.in 输出文件:energy2010.out 简单对比 时间限制:1 s 内存限制:512 MB [问题描述] 栋栋有一块长方形的地, ...
随机推荐
- java list 的 四种遍历方式
在java中遍历一个list对象的方法主要有以下四种: 1. For Loop —— 普通for循环 2. Advanced For Loop —— 高级for循环 3. Iterator Loop ...
- loadRunner 11.0 安装及破解
http://jingyan.baidu.com/article/20095761b31b58cb0621b463.html 破解时必须是管理员账户登录.
- windows service 的创建 安装 调试 错误回发
关于如何快速创建一个windows服务 1.在vs中创建windows服务 名称:你要写的服务名称 位置:创建服务所在的位置 点击确定 2.代码编写 3.添加安装程序 点击添加安装程序出现 分别右击设 ...
- C# 微信公众平台开发(2)-- 微信菜单
上一篇了解微信开发者中心 URL的配置验证: 验证成功后,就可以对获取的接口权限进行操作 自定义菜单接口可实现多种类型按钮,用的比较多的是 1.click:点击推事件 用户点击click类型按钮后,微 ...
- Spring—Hibernate
1.家jar包 2配置applicationContext与xxx.hbm.xml(根据需要决定是否配置hibernate.hbm.xml) applicationContext.xml <?x ...
- Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信
链接地址:http://www.cnblogs.com/mengdd/archive/2013/03/10/2952616.html 使用TCP/IP的套接字(Socket)进行通信 套接字Socke ...
- struts的MVC详细实现
struts中核心类:ActionServlet,其中最主要的操作是RequestProcessor类中的process方法. struts实现mvc的详解图如下: 1.Tomcat一启动,根据web ...
- Jps介绍以及解决jps无法查看某个已经启动的java进程问题【盗用】
1.jps的作用 jps类似linux的ps命令,不同的是ps是用来显示进程,而jps只显示java进程,准确的说是当前用户已启动的部分java进程信息,信息包括进程号和简短的进程command. 2 ...
- IntelliJ IDEA中创建并运行scala应用程序
1.安装scala插件 2.创建scala项目 下载scala SDK,如果你已经下载了,选择你所下载的版本,点击OK
- [LeetCode]题解(python):075-Sort Colors
题目来源: https://leetcode.com/problems/sort-colors/ 题意分析: 给定n个颜色,红色,白色和蓝色.分别用0,1,2代替,将这些颜色排序,0在1前,1在2前. ...