题干:

链接:https://ac.nowcoder.com/acm/contest/1112/A
来源:牛客网

给出正整数 n 和 m,统计满足以下条件的正整数对 (a, b) 的数量:

  1. 1 <= a <= n, 1 <= b <= m;
  2. a × b 是 2016 的倍数。

输入包含不超过 30 组数据。
每组数据包含两个整数 n, m (1 <= n, m <=10910^9109)
对于每组数据,输出一个整数表示满足条件的数量

样例:
输入:32 63
输出:1
输入:2016 2016
输出:30576
输入:1000000000 1000000000
输出:7523146895502644

思路:

因为(a∗ba*ba∗b)%mod=0 <=> (a%mod) ∗*∗ (b%mod)%mod.
所以 (n∗mn*mn∗m)%2016=0我们可以改写成 (a%2016) ∗*∗ (b%2016)%2016=0
然后我们将式子写成(a∗2016+xa*2016+xa∗2016+x) ∗*∗ (b∗2016+yb*2016+yb∗2016+y)%2016=0 =>
(a∗b∗20162+x∗b∗2016+y∗a∗2016+x∗ya*b*2016^2+x*b*2016+y*a*2016+x*ya∗b∗20162+x∗b∗2016+y∗a∗2016+x∗y)%2016=0
所有上式能否成立取决于x*y是否为2016的倍数
而当x>2016时可以改写成(x/2016∗2016+xx/2016*2016+xx/2016∗2016+x%2016)(此处/为向下取整)
所以x、y的范围就变成了[1,2016]
又因为当x∗yx*yx∗y%2016=0时,a和b可以取任意不超过范围的整数,所以方案则有(n-i)/2016+1中(1代表a=0时,(n-i)/2016代表a非0时)(b同理)

#include <bits/stdc++.h>
using namespace std;int main()
{int n,m;while(scanf("%d%d",&n,&m)!=EOF){long long ans=0;for(int i=1;i<=min(2016,n);i++){for(int j=1;j<=min(2016,m);j++){if(i*j%2016==0){long long a=(n-i)/2016+1;long long b=(m-j)/2016+1;ans+=a*b;}}}printf("%lld\n",ans);}return 0;
}

2019牛客国庆集训派对day7 A 2016(数学)相关推荐

  1. 2019牛客国庆集训派对day7 A 2016

    原题 题意: 给出正整数 n 和 m,统计满足以下条件的正整数对 (a, b) 的数量: 1≤a≤n,1≤b≤m; a×b是 2016 的倍数. 思路: a*b%mod–>(a%mod * b% ...

  2. 2019牛客国庆集训派对day7题解

    还没补完,慢慢补,能写多少是多少··· 文章目录 2016 题目描述 思路 代码 有向无环图 题目描述 思路 代码 Parenthesis 题目描述 思路 代码 三角形和矩形 题目描述 思路 代码 2 ...

  3. 2016湖南湘潭邀请赛 - 2019牛客国庆集训派对day6

    2016湖南湘潭邀请赛 - 2019牛客国庆集训派对day6 A - 2016 题意:求一个2阶矩阵的n次幂,对7取模的结果 思路:可以用上面介绍的10进制倍增的方法.也可以用 n 对2016取模,还 ...

  4. 2019牛客国庆集训派对day2 K 2018(容斥)

    链接:https://ac.nowcoder.com/acm/contest/1107/K 来源:2019牛客国庆集训派对day2 题目描述   Given a, b, c, d, find out ...

  5. Finding Hotels(牛客国庆集训派对Day7 )(2016ICPC青岛K)(K-D Tree)

    Finding Hotels 给定二维平面上nnn个点,每个点描述为x,y,cx, y, cx,y,c,x,yx, yx,y为坐标,ccc为该点的价值, 有mmm个询问,每次询问给x,y,cx, y, ...

  6. 2019牛客国庆集训派对day2 K 2018

    我这里在原题目上面加了扩充 修改:将2018改为x(x不是很大 ,其他题面内容不变 方法:首先将x分解质因子,变为 x=p1e1∗p2e2∗...∗pnenx=p_{1}^{e1}*p_{2}^{e2 ...

  7. 牛客国庆集训派对Day7 K(2016ICPC青岛区域赛K) KDTree

    Finding Hotels 题意:对于 m m m个客人询问对于每个人离他们最近且价格在自己可承受范围内的酒店是哪一个,一共有 n n n个酒店. 题解:裸 K D T r e e KDTree K ...

  8. 牛客国庆集训派对Day6

    牛客国庆集训派对Day6 以下是我个人题解,出题人题解附带在最后 A.Birthday 费用流裸题,只要注意到1+3+5+...+2k−1=k21+3+5+...+2k-1 = k^21+3+5+.. ...

  9. 2020牛客国庆集训派对day2 补题J

    2020牛客国庆集训派对day2 补题J:VIRUS OUTBREAK 题目描述 The State Veterinary Services Department recently reported ...

最新文章

  1. [学习笔记]矩形面积并
  2. Mysql和Hadoop+Hive有什么关系?
  3. 你真的会使用Glide吗?——Glide的高级用法
  4. 原声JS面向对象实现的简单轮播
  5. 毕设日志——特征融合修改vgg16.py
  6. SCALA环境搭建(2)_scala源文件编写和运行---大数据之_SCALA工作笔记005
  7. ORACLE报错(5)ORA-01102: cannot mount database in EXCLUSIVE mode
  8. [Java] 蓝桥杯ADV-155 算法提高 上帝造题五分钟
  9. iPad怎么截屏?iPad快速截图的7种方式
  10. Python数学建模 缺失值与异常值处理
  11. 产品规划三板斧:商业画布/精益画布/SWOT分析
  12. Macbook同时访问内外网
  13. 基于数组判断字符串是否是回文
  14. SequoiaDB巨杉数据库成为唯一入选 “硅谷2016 大数据地形图”中国厂商, 企业级市场超越MongoDB等海外产品
  15. 基于nodejs+vue的社区问答网站与设计
  16. 太秀了!用Pandas秒秒钟搞定24张Excel报表,还做了波投放分析!
  17. 「GitLab篇」如何用Git平台账号登录建木CI
  18. 抖音 Android 性能优化系列:启动优化实践
  19. WS2812原理及实现
  20. Invitation Cards

热门文章

  1. 利用WIN10自带ACG播放器完成.flv视频文件转码为mp4文件
  2. 如何使用win10自带的播放器ACG倍速播放
  3. Air780E开发板CSDK环境搭建与helloworld
  4. JavaScript学习(一)
  5. 关于DBCO-PEG-NH2的反应原理介绍,淡黄色到白色固体,或者半固体,取决于分子量
  6. 液晶显示器花屏怎样解决
  7. osgi为什么不流行_传承千年的“按辈分取名”,现在为什么不流行了?有个原因很尴尬...
  8. 鼠标实现物体拖动带拖尾的效果
  9. Tesseract 进行图像识别
  10. Dreamweaver配置php站点,Dreamweaver站点配置与本地测试