给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值。

例如j(5, 3)=3 mod 1 + 3 mod 2 + 3 mod 3 + 3 mod 4 + 3 mod 5=0+1+0+3+3=7。

输入格式

输入仅一行,包含两个整数n, k。

输出格式

输出仅一行,即j(n, k)。

数据范围

1≤n,k≤1091≤n,k≤109

输入样例:

5 3

输出样例:

7
 
思路:
 求   k%i(i~n)的和,由于数据量特别大,
已知  p =k/i, q= k/p;
q表示  大于 i的(p-1)倍,小于i的(p+1)倍的个数
 
f = k%i;
g = k %min(q,n);
q个数字是等差数列,公差为一
 
 
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm> using namespace std; typedef long long ll; ll n,k;
ll sum =;
int main()
{
cin >> n >> k;
for(ll i=,j;i<=n;i=j+)
{
ll p = k/i;
if(p ==)j=n;
else j = min(k/p,n);
ll f= k%i;
ll t =k%j;
sum+=(j-i+)*(f+t)/;
}
cout << sum <<endl;
return ;
}

你的脸上风淡云轻,谁也不知道你的牙咬得有多紧。你走路带着风,谁也不知道你膝盖上仍有曾摔过的伤的淤青。你笑得没心没肺,没人知道你哭起来只能无声落泪。要让人觉得毫不费力,只能背后极其努力。我们没有改变不了的未来,只有不想改变的过去。

余数之和BZOJ1257的更多相关文章

  1. 【BZOJ1257】余数之和(数论分块,暴力)

    [BZOJ1257]余数之和(数论分块,暴力) 题解 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的 ...

  2. BZOJ1257 CQOI2007 余数之和 【数分块】

    BZOJ1257 CQOI2007 余数之和 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + - + k mod n的值 其中 ...

  3. 【bzoj1257】[CQOI2007]余数之和sum

    [bzoj1257][CQOI2007]余数之和sum 2014年9月1日1,9161 Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod ...

  4. 【BZOJ1257】【CQOI2007】余数之和sum

    Description 给出正整数n和k,计算j(n, k)=k mod 1 + k mod 2 + k mod 3 + … + k mod n的值,其中k mod i表示k除以i的余数.例如j(5, ...

  5. bzoj千题计划173:bzoj1257: [CQOI2007]余数之和sum

    http://www.lydsy.com/JudgeOnline/problem.php?id=1257 k%i=k-int(k/i)*i 除法分块,对于相同的k/i用等差序列求和来做 #includ ...

  6. bzoj1257[CQOI2007]余数之和(除法分块)

    1257: [CQOI2007]余数之和 Time Limit: 5 Sec  Memory Limit: 128 MBSubmit: 6117  Solved: 2949[Submit][Statu ...

  7. 1257: [CQOI2007]余数之和

    题目链接 bzoj1257: [CQOI2007]余数之和 题解 数论分块,乘等差数列求和 代码 #include<bits/stdc++.h> using namespace std; ...

  8. BZOJ 1257: [CQOI2007]余数之和sum

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 3769  Solved: 1734[Submit][St ...

  9. 51nod1225 余数之和

    打表可以看出规律.分块求就可以了. #include<cstdio> #include<cstring> #include<cctype> #include< ...

随机推荐

  1. Mac下配置多个SSH Keys

    Mac下配置多个SSH Keys 生成SSH key # Creates a new ssh key using the provided email # 默认生成的文件名为id_rsa,可以根据命令 ...

  2. CentOS 7升级OpenSSH

    目录 下载openssh安装包 安装telnet 卸载旧的openssh 安装依赖 安装openssh 重启验证 关闭telnet服务 参考 下载openssh安装包 下载地址 wget https: ...

  3. 【CodeForces - 682C】Alyona and the Tree(dfs)

    Alyona and the Tree Descriptions 小灵决定节食,于是去森林里摘了些苹果.在那里,她意外地发现了一棵神奇的有根树,它的根在节点 1 上,每个节点和每条边上都有一个数字. ...

  4. python 滚动字幕

    写在前面:最近学python,爬虫方面感兴趣,顺便还可以了解下人工智能吧. 下面是两种方式做滚动字幕,直接贴代码了: 1.第一种: import time advText = input(" ...

  5. Linux文件属性之Linux文件删除重要原理详解

    Linux下文件删除的原理 只要dongdaxiafile(源文件).服务进程.dongdaxiaflie_hard_link(硬链接文件)三个中的任意一个存在文件不会被删除.

  6. java23种设计模式之四:建造者模式

    在软件开发过程中有时需要创建一个复杂的对象,这个复杂对象通常由多个子部件按一定的步骤组合而成.例如:在新招收一个员工时,对个人信息对象的创建,在不同的阶段,需要个人信息的内容也不一样,姓名.性别.年龄 ...

  7. Archlinux开启ssh服务命令

    Archlinux开启ssh服务命令: systemctl enable sshd.service 开机启动 systemctl start sshd.service 立即启动 systemctl r ...

  8. 什么是时序时空数据库TSDB

    时序时空数据库(Time Series & Spatial Temporal Database,简称 TSDB)是一种高性能.低成本.稳定可靠的在线时序时空数据库服务,提供高效读写.高压缩比存 ...

  9. 无法执行vue初始化命令

    无法执行vue初始化命令:https://www.jianshu.com/p/9eb3cf854aa8 今天vue 初始化项目时提示错误 执行命令: npm install -g vue-cli 执行 ...

  10. STL stack 常见用法详解

    <算法笔记>学习笔记 stack 常见用法详解 stack翻译为栈,是STL中实现的一个后进先出的容器.' 1.stack的定义 //要使用stack,应先添加头文件#include &l ...