tty的求助

问题描述

YL中学有一位叫做tty的土豪,他很有钱,而且实力非凡,才高八斗,玉树临 风,德才兼备,雄才大略,满腹经纶(此处省略1000字),(还是个大逗比)。因此有 很多妹子追求她,但是他都看丌上,他一心一意的爱着”唐诗“的好朋友**(具体叫 什么请自己脑补,我丌能说,丌然会被打。。。。。。)。”唐诗“的好朋友**眼界 也很高,而且很喜欢数学,所以出了一道math题目,如果tty能够回答出来的话就可 以得到 ** 的爱。 具体题目是这样的:求出

的值。其中 是实数,其他 的都是整数。 令人头疼的是,tty正好数学不好啊,为了他的终生幸福,所以他来求助了 你,请你帮他算出结果。

输入文件

输入仅有一行。

第一行仅有两个正整数N,M和一个实数x。

输出文件

输出共1行,由亍结果过大,所以请输出上式对998244353取模的结果。

样例输入

2 3 1

样例输出

7

样例解释

当n=1,m=1时,sum=1 
当n=1,m=2时,sum=1 
当n=1,m=3时,sum=1 
当n=2,m=1时,sum=1 
当n=2,m=2时,sum=1 
当n=2,m=3时,sum=2 
所以答案是7 
复制代码

数据规模

对于20%的数捤:N,M<=100

对于50%的数捤:N,M<=2000

对于100%的数捤:N,M<=500000,0

说实话,我其实是很不想帮这个忙的,但既然人家都求助了,我也不好拒绝(强装镇定)

题解

先解决一个简单粗暴的数学问题

对于给定的 , , ,求出

转换一下

然后有一个很玄学的结论,回头看了证明再来证明

结论:对于n,m:

若有

则这个数列为

的d次重复

因此,原式中

\sum_{k=0}^{k<m}\lfloor\frac{nk\mod m+x}{m}\rfloor=d\cdot\sum_{k=0}^{k<\frac{m}{d}}\lfloor\frac{\frac{kd+x}{d}}{\frac{m}{d}}\rfloor=d\cdot\sum_{k=0}^{k<\frac{m}{d}}\lfloor\frac{k+\frac{x}{d}}{\frac{m}{d}}\rfloor

易得有

使其中的 ,,则易得

而最后一部分

所以结果就是

重新回到题目,就变成了

其中

先把好求的求了

然后比较不好求的 实际上我们只需要求出每一个 的个数

设 为 的数对 的个数

设 为 的数对 的个数

然后就可以快速求出结果了

稍后附上代码

转载于:https://juejin.im/post/5a9542265188257a6e405c25

你可能感兴趣的:(数据结构与算法)