题解 P4942 【小凯的数字】
这是一道很有意思的数学题,分享一下我的思路。
首先说一下一个数模
令数字
在加上
可以想出朴素算法1.0,根据题意将
然而这显然会爆 ~.~。
于是我们继续优化。
一不小心注意到式一中 等号两边交换 也是成立的。
由此可将朴素算法1.0优化一下,将
然并卵,还是会爆 -_-。
但我们不要灰心,优化是无止境的。
对于每个数
也就是说,我们在枚举
举个栗子:
为了方便,我们让
由此得到O(1)算法3.0 了qwq。
看到这儿,你已经有办法AC这道题了,但是还是那句话,
优化是永无止境的。
在算法3.0中,
呀~这个思路貌似可行。反正中间有一大段都没用,我们能否让
我们可以让
优化是永无止境的。
实际上,让
记得维护
本人才疏学浅,想到这步已经是极限了。期盼有哪位神牛能继续优化下去。
优化是永无止境的。
附上高清代码
#include<cstdio>
int main()
{
long long a,b;
int T,ans; //自信地将ans定义为 int
for(scanf("%d",&T);T;T--)
{
scanf("%lld%lld",&a,&b);
a%=9,b%=9; //一步邂逅
if(b<a)b+=9; //维护
ans=0;
for(int i=a;i<=b;i++)//累加
ans+=i;
printf("%d\n",ans%9);
}
return 0;
}
后记
当我敲到这一行时,时间是是2019年11月16日 22:35:11。
今天是CSP-S 的 Day1。
脑袋在出考场后无比清醒,沮丧、悔恨、绝望···
今天已经白给了,省一的梦愈发模糊。
当初搞奥赛谁不是为了拿奖呀...
但是,如果能重来,我仍要选OI。我已经被算法的魅力深深吸引。在这说来话长的一年当中,我对OI的感情更深沉了。这也算是一场美丽的邂逅吧。
人生的相遇相逢不存在O(1),愿每位OIer仍在路上。
还有不到10小时就是Day2了,该休息了,那就写到这里吧。