$Min$_$25$筛模版题

为什么泥萌常数都那么小啊$ QAQ$

传送门:Here


题意:

$ f(1)=1$
$ f(p^c)=p⊕c(p 为质数,⊕ 表示异或)$
$ f(ab)=f(a)f(b)(a 与 b 互质)$

求$ \sum\limits_{i=1}^n f(i)$


$ solution:$

显然有$ f(P_i)=P_i-1+2*[P_i=2]$

暂时忽略$ P_i=2$的情况求出质数贡献

然后再把答案$ +2$即可


$ my \ code: $

#include<ctime>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#define p 1000000007
#define M 200010
#define rt register int
#define ll long long
using namespace std;
inline ll read(){
ll x = ; char zf = ; char ch = getchar();
while (ch != '-' && !isdigit(ch)) ch = getchar();
if (ch == '-') zf = -, ch = getchar();
while (isdigit(ch)) x = x * + ch - '', ch = getchar(); return x * zf;
}
void write(ll y){if(y<)putchar('-'),y=-y;if(y>)write(y/);putchar(y%+);}
void writeln(const ll y){write(y);putchar('\n');}
int i,j,k,m,x,y,z,cnt,sz;ll n;
int sp[M],ss[M];bool pri[M];
int id1[M],id2[M],t,h[M];ll g[M],q[M];
#define inv2 500000004
void init(){
sz=sqrt(n);
for(rt i=;i<=sz;i++){
if(!pri[i])ss[++cnt]=i,sp[cnt]=(sp[cnt-]+i)%p;
for(rt j=;i*ss[j]<=sz&&j<=cnt;j++){
pri[i*ss[j]]=;
if(i%ss[j]==)break;
}
}
for(ll i=;i<=n;){
ll v=n/i;ll R=n/v;q[++t]=v;
if(v<=sz)id1[v]=t;else id2[R]=t;
v%=p;h[t]=v-;g[t]=v*(v+)%p*inv2%p-;
i=R+;
}
}
inline int id(const ll x){return x<=sz?id1[x]:id2[n/x];}
int S(ll x,int y){
if(x<=||ss[y]>x)return ;
ll ret=g[id(x)]-sp[y-]+y-;
for(rt i=y;(ll)ss[i]*ss[i]<=x&&i<=cnt;i++)
for(ll j=ss[i],e=;j*ss[i]<=x;j*=ss[i],e++)
(ret+=(ll)(ss[i]^e)*S(x/j,i+)+(ss[i]^e+))%=p; return ret;
}
int main(){
n=read();init();
for(rt j=;j<=cnt;j++)
for(rt i=;i<=t&&q[i]>=(ll)ss[j]*ss[j];i++){
const int k=id(q[i]/ss[j]);
(g[i]-=(ll)ss[j]*(g[k]-sp[j-]))%=p;
(h[i]-=(h[k]-j+))%=p;
}
for(rt i=;i<=t;i++)(g[i]-=h[i])%=p;
if(n==)cout<<;else cout<<(S(n,)++p)%p;
return ;
}

LOJ #6053. 简单的函数的更多相关文章

  1. LOJ 6053 简单的函数——min_25筛

    题目:https://loj.ac/problem/6053 min_25筛:https://www.cnblogs.com/cjyyb/p/9185093.html 这里把计算 s( n , j ) ...

  2. loj 6053 简单的函数 —— min_25筛

    题目:https://loj.ac/problem/6053 参考博客:http://www.cnblogs.com/zhoushuyu/p/9187319.html 算 id 也可以不存下来,因为 ...

  3. LOJ.6053.简单的函数(Min_25筛)

    题目链接 Min_25筛见这里: https://www.cnblogs.com/cjyyb/p/9185093.html https://www.cnblogs.com/zhoushuyu/p/91 ...

  4. loj#6053. 简单的函数(Min_25筛)

    传送门 题解 \(Min\_25\)筛有毒啊--肝了一个下午才看懂是个什么东西-- \(zsy\)巨巨强无敌-- //minamoto #include<bits/stdc++.h> #d ...

  5. Case when 的用法,简单Case函数

    Case when 的用法,简单Case函数 简单CASE表达式,使用表达式确定返回值. 语法: CASE search_expression WHEN expression1 THEN result ...

  6. python之简单的函数介绍(http://docs.python.org/3/library)

    Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. 在上面的网站上我们可以进行查询,Python具体都有哪些函数. 我们也可以再交互命令行中来查找函数: >> ...

  7. php简单表格函数

    php简单表格函数 代码 <?php //ctrl+shift+j /** * @param unknown $rows * @param unknown $cols * @param stri ...

  8. python简单的函数定义和用法实例

    python简单的函数定义和用法实例 这篇文章主要介绍了python简单的函数定义和用法,实例分析了Python自定义函数及其使用方法,具有一定参考借鉴价值,需要的朋友可以参考下 具体分析如下: 这里 ...

  9. python简单的函数应用

    一个简单的函数应用,包括自定义函数,lambda函数,列表解析. 1 #!usr/bin/env python3 2 # -*- coding:utf-8 -*- 3 4 #开始定义函数 5 def ...

随机推荐

  1. [luogu1020][导弹拦截]

    题目位置 https://www.luogu.org/problemnew/show/P1020 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的 ...

  2. c语言: 生成随机数

    #include <time.h> srand((unsigned)time(NULL)); for(int i=0;i<10;i++) { //printf("%d\n& ...

  3. postman 测试套件collection

    测试套件collection就是为了跑一套case,整体的一套case,为了解决一个一个的case单独跑 1.点击小加号 2.填写套件的名字 3.右键增加folder,一个folder里面可以增加多个 ...

  4. tput

    tput : 改变终端显示特性,常见用法如下: tput lines : 显示终端的行数 tput cols : 显示终端的列数 tput cup line_number collum_number ...

  5. linux下的crontab安装及简单使用

    1.安装 # yum install vixie-cron # yum install crontabs # chkconfig crond on  #设为开机启动,先要安装chkconfig(yum ...

  6. hibernate的学习周

    Hibernate核心:ORM(对象关系映射) BeginSession关闭的时候要session.close(),而getCurrentsession不需要,它会自动关闭 Session.load( ...

  7. python要点简要-一日精通python

    Python2.x是历史,Python3.x是这门语言的现在和未来.Python2和3大约90%的地方都很相似的. 1.注释 单行注释:在注释的前面输入#号,如下: # 这是一条注释 多行注释:使用三 ...

  8. 原生js操作Dom命令总结

    常用的dom方法 document.getElementById(“box”);//通过id获取标签    document.getElementsByTagName(“div”);根据标签名获取页面 ...

  9. HTML常用提交按钮

    1. 标签=元素 disabled(不可操作)  readonly(只读)  placeholder(提示文本) autofocus(自动获焦)  autocomplete=”on(默认.规定启用自动 ...

  10. MyBatis-generator-Maven方式

    一.配置依赖 1.依赖信息 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project x ...