51Nod-1239-欧拉函数之和
来源:互联网 发布:福州seo顾问培训 编辑:程序博客网 时间:2024/06/05 01:02
ACM模版
描述
题解
这个题和那个 51Nod 1244 莫比乌斯函数之和 的方法几乎一模一样,差别就是推导公式的结果不一样罢了,但是形式是一样的。
推导如下:
设
公式的形式和
代码
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;typedef long long ll;const int MOD1 = 1e9 + 7;const int MOD2 = 2333333;const int INV_2 = 5e8 + 4;const int MAXN = 5e6 + 10;ll n;int tot;ll tep[MOD2];ll val[MOD2];int phi[MAXN + 5];int prime[MAXN + 5];int hed[MOD2];int net[MOD2];bool vis[MAXN + 5];void add(int x, ll y, ll z){ tep[++tot] = y; val[tot] = z; net[tot] = hed[x]; hed[x] = tot;}ll cal(ll x){ if (x <= MAXN) { return phi[x]; } int k = x % MOD2; ll ret = 0, z = x % MOD1; for (int i = hed[k]; i; i = net[i]) { if (tep[i] == x) { return val[i]; } } for (ll l = 2, r; l <= x; l = r + 1) { r = x / (x / l); ret += (r - l + 1) % MOD1 * cal(x / l) % MOD1; ret %= MOD1; } ret = (z * (z + 1) % MOD1 * INV_2 % MOD1 - ret + MOD1) % MOD1; add(k, x, ret); return ret;}void init(){ for (int i = 2; i <= MAXN; i++) { if (!vis[i]) { prime[++prime[0]] = i; phi[i] = i - 1; } for (int j = 1; j <= prime[0]; j++) { int k = i * prime[j]; if (k > MAXN) { break; } vis[k] = 1; if (!(i % prime[j])) { phi[k] = phi[i] * prime[j]; break; } phi[k] = phi[i] * (prime[j] - 1); } } phi[1] = 1; for (int i = 1; i <= MAXN; i++) { phi[i] += phi[i - 1]; phi[i] %= MOD1; }}int main(){ init(); scanf("%lld", &n); printf("%lld", cal(n)); return 0;}
阅读全文
0 0
- 【51Nod 1239】欧拉函数之和
- 51nod 1239欧拉函数之和
- 【51NOD 1239】欧拉函数之和
- 51nod 1239 欧拉函数之和
- [51NOD]1239 欧拉函数之和
- 51nod 1239 欧拉函数之和
- 51Nod-1239-欧拉函数之和
- 51Nod 1239 欧拉函数之和
- 51nod 1239 欧拉函数之和
- 51nod 1239 欧拉函数之和
- 51nod 1239 欧拉函数之和
- [杜教筛模板] 51Nod 1239 欧拉函数之和
- 51 NOD 1239 欧拉函数之和(杜教筛)
- [杜教筛] 51Nod 1239: 欧拉函数之和
- 51nod-1040-最大公约数之和(欧拉函数)
- 51NOD 1040 最大公约数之和(分析 + 欧拉函数)
- 51nod-1040-1040 最大公约数之和(欧拉函数)
- 51NOD 1040 1040 最大公约数之和 数论 欧拉函数
- 解决activiti-explorer在tomcat启动中报错
- HTML5-Cookie-遮罩层
- 抓苹果
- databricks notebook 笔记
- C语言中printf(),scanf()用法
- 51Nod-1239-欧拉函数之和
- eclipse 把当前git目录中项目关联上git
- Android Studio中Git的配置及协同开发
- UE4 World Setting---Level的“World Setting” 重点设置 (随记系列3_World Setting)
- 项目运行报错,service注解无效
- HttpURLConnection的GET和POST解析
- 浅谈设计模式及其适用情景
- HDU 1754-I Hate It(线段树单节点更新)
- 关于WebRTC初接触