码迷,mamicode.com
首页 > 其他好文 > 详细

【每日题解 #12】P3312 [SDOI2014]数表

时间:2018-08-03 19:52:32      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:现在   com   图片   怎么   超时   www   img   计数   每日   

啊啊啊我昨天怎么没写题解wwww

补昨日题解。。。

题目链接 : https://www.luogu.org/problemnew/show/P3312

 

也是莫反 我要把fft留到今天写

【和zyn小可爱约好了 明天不填完坑就请她cafeking哦

 

表面题意:很明显了。。。

有一张N*m的数表,其第i行第j列(1 < =i < =n,1 < =j < =m)的数值为能同时整除i和j的所有自然数之和。

给定a,计算数表中不大于a的数之和。

 

 第一步 : 每个格子里的那个东西是什么?

整除i和j的所有自然数之和

          ↓                ↓

    gcd(i, j)        因数和

是 sigma(gcd(i, j))

sigma(x)表示x的因数和

 

现在的题意:

有一张n * m的数表,给定a,计算数表中不大于a的sigma(gcd(i, j))之和。

 

蒟蒻认为 看到gcd 又看到计数 就可以往莫反上靠靠了

 

技术分享图片

 

另 这样在线做会超时的

由于随着a变大

变化仅为f[] 中的一些值由零变一

所以把询问按a排序 

每次补齐卷积

详见代码work部分

 

代码:

 

 

几个要注意的细节【大佬自动无视】:

1)sigma不是单调递增 所以请排序

2)由于本题取模数十分毒瘤 所以随便爆int~

3)sigma并不是所有项都符合积性函数性质 所以要O(n ln n)筛

4)now注意上界 a可能很大但用不上

 

【每日题解 #12】P3312 [SDOI2014]数表

标签:现在   com   图片   怎么   超时   www   img   计数   每日   

原文地址:https://www.cnblogs.com/hjmmm/p/9415659.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!