题目链接

orz zzx!

题目看似要求$$\sum_{k=1}n\sum_{a=1}k\sum_{b=1}^k[k\mid a\times b]$$

实际我们可以求$$\sum_{k=1}^n\sum_a\sum_b\sum_c[a\times b\times c=k]$$

再实际就是求$$\sum_a\sum_b\sum_c[a\times b\times c\leq k]$$

也就是\(a\times b\times c\leq k\)的有序三元组个数。。

那么我们枚举\(a\leq b\leq c\),统计它有多少个,最后再乘排列数。

这样\(a\)只需枚举到\(\sqrt[3]n\),\(b\)需要枚举到\(\sqrt{\frac na}\)。

\(a=b=c\)时排列数只有\(1\),有两个数相等时排列数只有\(3\),其它的就乘\(3!=6\)。

#include <cmath>
#include <cstdio>
#define mod 2333
typedef long long LL; int main()
{
LL n; scanf("%lld",&n);
int ans=0;
for(int a=1; 1ll*a*a*a<=n; ++a)
{
ans=(ans+1+3*(n/a/a-a))%mod;
LL t=n/a;
for(int b=a+1,l=sqrt(t); b<=l; ++b)
ans=(ans+3/*每个枚举的b,c都可以等于b*/+6*(t/b-b))%mod;
}
printf("%d\n",ans%mod); return 0;
}

最新文章

  1. 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
  2. 洛谷 P1387 最大正方形 Label:奇怪的解法
  3. linux top命令中各cpu占用率含义
  4. 数码管问题(c++实现)
  5. Linux objcopy命令
  6. spring注入参数详解
  7. 使用DBMS_STATS来收集统计信息【转】
  8. C# JavaScriptSerializer 解析Json数据(多方法解析Json 三)
  9. 使用struts taglib导致java.lang.NullPointerException: Module &#39;null&#39; not found.
  10. 实战项目:通过当当API将订单抓取到SAP(一)
  11. HTML+CSS D08浮动
  12. Travis CI实现持续部署
  13. Spring MVC简单原理
  14. Mysql--执行计划 Explain
  15. Java基础 -- final关键字
  16. NOIP2018游记-退役之战
  17. 第4周小组作业:WordCount优化
  18. 使用 Portainer UI 管理 Docker 主机
  19. java用poi读取Excel表格中的数据
  20. Linux网卡配置文件参数注释

热门文章

  1. python3数字、日期和时间
  2. Majority Element(169) &amp;&amp; Majority Element II(229)
  3. mq命令帮助文档
  4. 高级 Java 必须突破的 10 个知识点!
  5. sublime汉化步骤记录
  6. centos环境自动化批量安装jdk软件脚本
  7. 集成Struts2+Spring+Hibernate_两种方案
  8. centos中selinux功能及常用服务配置
  9. Oracle数据库操作基本语法
  10. ubuntu 窗口操作快捷键