BZOJ复活了呢QAQ。
题目描述
求映射f(x,k)→∑xi=1kmodi的值。
输入输出格式
输入格式
两个整数,n,k。
输出格式
f(n,k)
INPUT & OUTPUT’s examples
Input’s eg #1
1 | 5 3 |
Output’s eg #1
1 | 7 |
说明
对于100%的数据,1≤n,k≤109
分析
为了更好地理解题意,我把题面魔改了一下(雾
我们来看f(x,k)这个函数:
f(x,k)=x∑i=1kmodi
因为,
amodb=a−⌊ab⌋×b
所以,原式可以化简,得:
f(x,k)=x∑i=1k−⌊ki⌋×i
继续化简:
f(x,k)=x×k−x∑i=1⌊ki⌋×i
我们知道⌊ki⌋至多有√k种取值。
那么我们对⌊ki⌋连续的一段进行计算即可。
代码
1 | /* Headers */ |
v1.5.2