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

洛谷 P10584 [蓝桥杯 2024 国 A] 数学题(整除分块+杜教筛)

题目

思路来源

登录 - Luogu Spilopelia

题解

参考了两篇洛谷题解,第一篇能得出这个式子,第二篇有比较严格的复杂度分析

结合去年蓝桥杯洛谷P9238,基本就能得出这题的正确做法

代码

#include<bits/stdc++.h>
#include<iostream>
#include<cstdio>
#include<map>
#include<unordered_map>
#include<set>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N=1e7+10;
bool ok[N];
int pr[N/10],mu[N],ans[N],cnt,up;
unordered_map<int,int>smu;
unordered_map<ll,ll>smu2;
ll n,m;
void sieve(ll n){mu[1]=1;ans[1]=1;for(ll i=2;i<N;++i){if(!ok[i]){pr[cnt++]=i;mu[i]=-1;}for(int j=0;j<cnt;++j){ll k=i*pr[j];if(k>=N)break;ok[k]=1;if(i%pr[j]==0){mu[k]=0;break; }mu[k]=-mu[i];}ans[i]+=ans[i-1]+(mu[i]!=0);mu[i]+=mu[i-1];}
}
int djsmu(int n){if(n<N)return mu[n];if(smu.count(n))return smu[n];int ans=1;for(int l=2,r;l<=n;l=r+1){r=n/(n/l);ans=ans-(r-l+1)*djsmu(n/l);}return smu[n]=ans;
}
ll cal(ll n){if(n<N)return ans[n];if(smu2.count(n))return smu2[n];ll res=0;for(ll l=1,r,v;l*l<=n;l=r+1){v=n/l/l;r=sqrt(n/v);res+=v*(djsmu(r)-djsmu(l-1));}return smu2[n]=res;
}
int main(){cin>>n>>m;sieve(n);ull ans=0;for(ll l=1,r,x,y;l<=min(n,m);l=r+1){x=sqrt(n/l),y=sqrt(m/l);r=min(n/(x*x),m/(y*y));ans+=1ull*(cal(r)-cal(l-1))*x*y;}cout<<ans<<endl;return 0;
} 

http://www.lryc.cn/news/380022.html

相关文章:

  • 深入讲解C++基础知识(一)
  • Python爬虫实战:批量下载网站图片
  • 使用 JavaScript 获取电池状态
  • java—类反射机制
  • 浏览器-服务器架构 (BS架构) 详解
  • 微型操作系统内核源码详解系列五(四):cm3下svc启动任务
  • 筛质数(暴力法、埃氏筛、欧拉筛)
  • 使用USI作为主SPI接口
  • AI播客下载:Eye on AI(AI深度洞察)
  • Flink 窗口触发器
  • Java面试题:解释线程间如何通过wait、notify和notifyAll方法进行通信
  • 【机器学习 复习】第9章 降维算法——PCA降维
  • Ubuntu系统docker gpu环境搭建
  • 网络安全-如何设计一个安全的API(安全角度)
  • 微积分-导数1(导数与变化率)
  • 最新PHP仿猪八戒任务威客网整站源码/在线接任务网站源码
  • Windows安装配置jdk和maven
  • 电子SOP实施(MQTT协议)
  • 【Unity导航系统】Navigation组件的概念及其使用示例
  • vue-cli 根据文字生成pdf格式文件 jsPDF
  • 【嵌入式DIY实例】-Nokia 5110显示DS3231 RTC数据
  • 【十三】图解mybatis缓存模块之装饰器模式
  • 字节大神强推千页PDF学习笔记,弱化学历问题,已拿意向书字节提前批移动端!
  • Python爬虫-贝壳二手房“改进版”
  • zookeeper学习、配置文件参数详解
  • SVG 模糊效果
  • Electron+vite+vuetify项目搭建
  • 洛谷:P1085 [NOIP2004 普及组] 不高兴的津津
  • Webpack4从入门到精通以及和webpack5对比_webpack现在用的是哪个版本
  • 巴鲁夫MacroBuilder2.0.0.0软件巴鲁夫和使用手侧