【JZOJ5250】【GDOI2018模拟8.11】质数
来源:互联网 发布:免费的会计软件 编辑:程序博客网 时间:2024/06/06 04:11
Description
Data Constraint
Solution
我们发现
所以题目就是求:
枚举d,然后分块计算后面即可。
Code
#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<algorithm>#define ll long longusing namespace std;const ll maxn=1e6+5,mo=998244353; ll bz[maxn],u[maxn],n,i,t,j,k,l,x,y,z,d[maxn],ans,p[maxn];ll dg(ll n){ ll t,i=1,x=0; while (i<=n){ t=n/(n/i); x=x+n/i*(t-i+1)%mo;i=t+1; } return x%mo;}int main(){// freopen("data.in","r",stdin); scanf("%lld",&n);u[1]=1;t=sqrt(n); for (i=2;i<=t;i++){ if (!bz[i]) bz[i]=1,d[++d[0]]=i,u[i]=-1; for (j=1;j<=d[0];j++){ if (i*d[j]>t) break; u[i*d[j]]=-u[i];bz[i*d[j]]=1; if (i%d[j]==0){ u[i*d[j]]=0; break; } } } for (i=1;i<=t;i++) ans=ans+u[i]*dg(n/(i*i)); ans=(ans%mo+mo)%mo; printf("%lld\n",ans);}
阅读全文
1 0
- [JZOJ5250]【GDOI2018模拟8.11】质数
- 【jzoj5250】【GDOI2018模拟8.11】【质数】
- 【JZOJ5250】【GDOI2018模拟8.11】质数
- 【JZOJ5250】【GDOI2018模拟】质数(数论)
- 【GDOI2018模拟8.11】质数
- 【GDOI2018模拟8.11】质数
- 【JZOJ 5250】【GDOI2018模拟8.11】质数
- 【GDOI2018模拟7.8】质数
- [JZOJ5250]质数
- 质数,函数【GDOI2018模拟7.8】
- 【GDOI2018模拟7.8】质数 乱搞+哥德巴赫猜想
- 【GDOI2018模拟8.11】决战
- 【GDOI2018模拟7.6】吃干饭
- 【GDOI2018模拟7.9】期末考试
- 【GDOI2018模拟7.8】矩阵
- 【GDOI2018模拟7.10】B
- 【GDOI2018模拟7.10】C
- 【GDOI2018模拟7.10】B
- ubuntu下文件编码查看与转换
- 自己整理的 调用百度,高德API的定位和导航。
- 顺序容器(上)
- 菱形三角形
- 代码详解のJava面向对象特性之多态
- 【JZOJ5250】【GDOI2018模拟8.11】质数
- Easy ui 从小白到精通
- sublime text3格式化json
- HDU6150&&2017CCPC网络赛Vertex Cover
- 银行 模拟收银台
- Vector的add(Object obj)和remove(Object obj)和remove(index)和get(index)的源码分析
- opencv识别圆形
- Requests使用
- 插入 | 希尔 | 冒泡 | 快速 | 选择 | 归并排序