51nod 1223 分数等式的数量
来源:互联网 发布:系统仿真软件 编辑:程序博客网 时间:2024/05/22 03:03
原题链接.
题解:
暴力枚举d,i,分块j,是可以过的。
复杂度不会证明。
Code:
#include<cmath>#include<cstdio>#define ll long long#define fo(i, x, y) for(ll i = x; i <= y; i ++)#define min(a, b) ((a) < (b) ? (a) : (b))using namespace std;const int N = 320000;bool bz[N + 1]; int mu[N + 1], p[N];ll n, ans;int main() { mu[1] = 1; fo(i, 2, N) { if(!bz[i]) p[++ p[0]] = i, mu[i] = -1; fo(j, 1, p[0]) { int k = i * p[j]; if(k > N) break; bz[k] = 1; if(i % p[j] == 0) { mu[k] = 0; break; } mu[k] = -mu[i]; } } scanf("%lld", &n); fo(d, 1, sqrt(n * 1.0)) if(mu[d]){ ll m = n / d / d; fo(j, 2, sqrt(m * 1.0)) { ll z = m / j; fo(i, j + 1, 2 * j - 1) { if(z / i == 0) break; ll k = min(z / (z / i), 2 * j - 1); ans += (z / i) * (k - i + 1) * mu[d]; i = k; } } } printf("%lld", ans);}
阅读全文
0 0
- [51nod 1223]分数等式的数量
- 【51NOD 1223】分数等式的数量
- [51Nod 1223] 分数等式的数量
- 51nod 1223 分数等式的数量
- 51nod 1223 分数等式的数量
- [51nod1223]分数等式的数量
- 51nod1223 分数等式的数量
- 【51nod1223】【分数等式的数量】【莫比乌斯反演】
- [51nod 1139]奇妙等式的解
- 岛屿的数量 51Nod
- 岛屿的数量 51Nod
- 等式数量
- 51nod 1009:数字1的数量
- 51nod 1276:岛屿的数量 (贪心)
- 51NOD 1009 数字1的数量
- 51nod 1009 数字1的数量
- [51nod 1197] 字符串的数量 V2
- 51nod 1009 数字1的数量
- easy ui动态添加菜单
- ubuntu 安装和卸载mysql
- Git Commit failed
- 匿名内部类特点及注意
- java String.split()函数的用法分析
- 51nod 1223 分数等式的数量
- E
- C++引用详解
- 【机器学习实战】第6章 支持向量机(Support Vector Machine / SVM)
- 讲讲 java的Number类
- I
- 《3D山地赛车》游戏-网络部分(一)
- 数据连接池c3p0和druid的简单配置
- 几点关于面试的思考