题目链接:LOJ

题目大意:看到题目名字应该都知道是啥了吧。

$1\le N\le 10^{11}$。


阉割版 min_25 筛。发现答案实际上就是 min_25 筛中 $g(N,pl)$ 的值。(取次数 $k=0$ 即可)

在这里再写一遍式子。(用久了应该要背了)

$g(n,0)=n-1$

$g(n,j)=\begin{cases}g(n,j-1)&p_j^2>n\\g(n,j-1)-(g(\lfloor\dfrac{n}{p_j}\rfloor,j)-(j-1))&p_j^2\le n\end{cases}$

直接算即可。时间复杂度 $O(\frac{N^{3/4}}{\log N})$。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=;
#define FOR(i,a,b) for(int i=(a);i<=(b);i++)
#define ROF(i,a,b) for(int i=(a);i>=(b);i--)
#define MEM(x,v) memset(x,v,sizeof(x))
ll n,w[maxn],g[maxn];
int sq,pri[maxn],pl,tot,id1[maxn],id2[maxn];
bool vis[maxn];
inline int id(ll x){return x<=sq?id1[x]:id2[n/x];}
void init(){
sq=sqrt(n);
FOR(i,,sq){
if(!vis[i]) pri[++pl]=i;
FOR(j,,pl){
if(i*pri[j]>sq) break;
vis[i*pri[j]]=true;
if(i%pri[j]==) break;
}
}
for(ll l=,r;l<=n;l=r+){
r=n/(n/l);
w[++tot]=n/l;
if(n/l<=sq) id1[n/l]=tot;
else id2[n/(n/l)]=tot;
g[tot]=w[tot]-;
}
}
void calc(){
FOR(i,,pl) FOR(j,,tot){
if((ll)pri[i]*pri[i]>w[j]) break;
g[j]-=g[id(w[j]/pri[i])]-(i-);
}
}
int main(){
scanf("%lld",&n);
init();
calc();
printf("%lld\n",g[id(n)]);
}

最新文章

  1. org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。
  2. JavaScript之substring()方法讲解
  3. http://src.chromium.org/svn/ 定制chrome浏览器教程及源码
  4. MVC +EF+linq 多表联查
  5. 简单http代理服务器搭建
  6. 搜索引擎solr和elasticsearch
  7. Python人工智能之-三大数学难点 !
  8. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然
  9. require.js使用教程
  10. js Ajax 请求返回
  11. FZU - 1901 Period II(kmp所有循环节)
  12. java泛型类型变量能调用的方法
  13. c++ 类的堆成员的声明及使用
  14. Vue.js用脚手架创建项目
  15. linux达人养成计划学习笔记(八)—— shell基础
  16. Unity shader学习之遮罩纹理
  17. Hiero扩展工具包开发小结
  18. Identity Server4学习系列四之用户名密码获得访问令牌
  19. C语言从零开始(十四)-字符串处理
  20. 【转】linux中inittab文件详解

热门文章

  1. Codeforces 453B Little Pony and Harmony Chest:状压dp【记录转移路径】
  2. php 简单判断是否微信浏览器
  3. java 中的拦截器和过滤器
  4. 高并发下用pdo,文件排它锁,redis三种方法对比
  5. Git_错误_03_ Git提交时显示用户 unknown
  6. chrome浏览器的跨域设置-包括版本49前后两种设置 ,windows&amp;mac
  7. linux命令学习笔记(39):grep 命令
  8. ACM学习历程—HDU 3915 Game(Nim博弈 &amp;&amp; xor高斯消元)
  9. iOS项目添加PCH文件
  10. ASP.NET AJAX(Atlas)和Anthem.NET——管中窥豹般小小比较