当前位置: 首页 > news >正文

洛谷P1829 [国家集训队]Crash的数字表格 / JZPTAB(莫比乌斯反演)

传送门

 

式子好麻烦orz……大佬好腻害orz->这里

 1 //minamoto
 2 #include<iostream>
 3 #include<cstdio>
 4 #define ll long long
 5 using namespace std;
 6 const int N=1e7+5,mod=20101009;
 7 int n,m,vis[N],p[N],cnt,mu[N];ll sum[N];
 8 ll ans,inv2,summ;
 9 void init(int lim){
10     mu[1]=1;
11     for(int i=2;i<=lim;++i){
12         if(!vis[i]) p[++cnt]=i,mu[i]=-1;
13         for(int j=1;j<=cnt&&p[j]*i<=lim;++j){
14             vis[i*p[j]]=1;
15             if(i%p[j]==0) break;
16             mu[i*p[j]]=-mu[i];
17         }
18     }
19     for(int i=1;i<=lim;++i)
20     (sum[i]=sum[i-1]+1ll*mu[i]*i*i)%=mod;
21 }
22 ll calc(int mx,int l){
23     return (1ll+mx/l)*(mx/l)%mod*inv2%mod;
24 }
25 int main(){
26 //    freopen("testdata.in","r",stdin);
27     scanf("%d%d",&n,&m);
28     int lim;init(lim=min(n,m));
29     ans=0,inv2=(mod+1)/2,summ=0;
30     for(int d=1;d<=lim;++d){
31         int mxx=n/d,myy=m/d,mn=min(mxx,myy);
32         summ=0;
33         for(int l=1,r;l<=mn;l=r+1){
34             r=min(mxx/(mxx/l),myy/(myy/l));
35             (summ+=(sum[r]-sum[l-1])%mod*calc(mxx,l)%mod*calc(myy,l)%mod)%=mod;
36         }
37         (ans+=summ*d)%=mod;
38     }
39     printf("%lld\n",(ans%mod+mod)%mod);
40     return 0;
41 }

 

转载于:https://www.cnblogs.com/bztMinamoto/p/9699659.html

相关文章:

  • python3笔记一基础语法
  • DES/3DES(TripleDES)加密、解密测试数据
  • centos7源码安装lamp(新)
  • nginx set变量后lua无法改值
  • RabbitMQ Performance Testing Tool 性能测试工具
  • Perl检查引用类型
  • 网络七层协议
  • django中获得当前域名
  • Java编程基础24——递归练习
  • E-HPC支持多队列管理和自动伸缩
  • 聊聊我的linux系统学习之路
  • Python3将ipa包中的文件按大小排序
  • 2018 php 面试
  • 【网络文摘】一位36岁程序员的困惑
  • rabbitMQ 常用命令
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • 【知识碎片】第三方登录弹窗效果
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Cookie 在前端中的实践
  • ES6核心特性
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Go 语言编译器的 //go: 详解
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • KMP算法及优化
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • linux学习笔记
  • mysql外键的使用
  • Sass Day-01
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • 创建一个Struts2项目maven 方式
  • 从零开始在ubuntu上搭建node开发环境
  • 记录一下第一次使用npm
  • 警报:线上事故之CountDownLatch的威力
  • 如何设计一个比特币钱包服务
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • JavaScript 新语法详解:Class 的私有属性与私有方法 ...
  • 浅谈sql中的in与not in,exists与not exists的区别
  • #QT(一种朴素的计算器实现方法)
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #考研#计算机文化知识1(局域网及网络互联)
  • (10)工业界推荐系统-小红书推荐场景及内部实践【排序模型的特征】
  • (C++17) optional的使用
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (笔试题)分解质因式
  • (笔试题)合法字符串
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (二)windows配置JDK环境
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • .cfg\.dat\.mak(持续补充)
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET delegate 委托 、 Event 事件,接口回调
  • .NET 指南:抽象化实现的基类