博客
关于我
牛客多校第七场H(数论分块)
阅读量:256 次
发布时间:2019-03-01

本文共 733 字,大约阅读时间需要 2 分钟。

专题里面有,后悔没写,哭唧唧

#include
using namespace std;typedef long long ll;const int mod = 1e9 + 7;ll n,k;ll run(ll x){ ll j;/*i是前界,j是后界*/ ll res = 0; for(ll i = 2;i <= min(x,k);i = j + 1){ ll y = x / i; j = min(x / y,k); /*右边界大于k在同一个n/i的数量上会有变化,会多加上几个n/i 右边界是可以大于k的,而且情况还不少,所以有时候不能直观去看 */ res = (res + ((j - i + 1) * y) % mod); } return res;}int main(){ scanf("%lld%lld",&n,&k); ll sum = 0; sum += n + k - 1; //如果数论分块会加上n + n - 1 //k不一定等于n,与实际不符 sum = (sum + run(n) + run(n - 1)) % mod; printf("%lld\n",sum); return 0;}/*这道题是什么意思呢就是通过观察,我们可以知道(n,k)-->(nk,k) 第一个整数一定是第二个整数的倍数(n,k)-->(nk+1,k)令n = xk(第一个整数一定是k的倍数);1. n == xk2. n == xk + 1那么n == xk 或n - 1 == xk所以这道题就转化成了是求n / k(k = 1,2,3... )的和方法就是数论分块*/

转载地址:http://isox.baihongyu.com/

你可能感兴趣的文章
MySQL InnoDB 三大文件日志,看完秒懂
查看>>
Mysql InnoDB 数据更新导致锁表
查看>>
Mysql Innodb 锁机制
查看>>
MySQL InnoDB中意向锁的作用及原理探
查看>>
MySQL InnoDB事务隔离级别与锁机制深入解析
查看>>
Mysql InnoDB存储引擎 —— 数据页
查看>>
Mysql InnoDB存储引擎中的checkpoint技术
查看>>
Mysql InnoDB存储引擎中缓冲池Buffer Pool、Redo Log、Bin Log、Undo Log、Channge Buffer
查看>>
MySQL InnoDB引擎的锁机制详解
查看>>
Mysql INNODB引擎行锁的3种算法 Record Lock Next-Key Lock Grap Lock
查看>>
mysql InnoDB数据存储引擎 的B+树索引原理
查看>>
mysql innodb通过使用mvcc来实现可重复读
查看>>
mysql insert update 同时执行_MySQL进阶三板斧(三)看清“触发器 (Trigger)”的真实面目...
查看>>
mysql interval显示条件值_MySQL INTERVAL关键字可以使用哪些不同的单位值?
查看>>
Mysql join原理
查看>>
MySQL Join算法与调优白皮书(二)
查看>>
Mysql order by与limit混用陷阱
查看>>
Mysql order by与limit混用陷阱
查看>>
mysql order by多个字段排序
查看>>
MySQL Order By实现原理分析和Filesort优化
查看>>