[SDOi2012]Longge的问题 (数论)
题目
题目背景
SDOi2012
题目描述
Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题。现在问题来了:给定一个整数N,你需要求出
\]
输入输出格式
输入格式:
一个整数,为N。
输出格式:
一个整数,为所求的答案。
输入输出样例
输入样例#1: 复制
6
输出样例#1: 复制
15
说明
对于60%的数据,\(0<N<=2^{16}\)
对于100%的数据,\(0<N<=2^{32}\)
题解
显然直接枚举会超时.
但有60分可得.
考虑换个枚举点.
可能成为GCD(i,n)的数就是n的因子.
\(\sqrt n\)的枚举n的因子.
然后求
\(\sum_x\sum_{i=1}^nGCD(i,n)== x\)
前半部枚举,考虑如何处理后半部分.
\]
\]
看出这就是求\(\phi {x}\)
然后直接求就好.
时间复杂度:\(O(因子个数*\sqrt n)\)
CODE:
// luogu-judger-enable-o2
#include <iostream>
#include <cstdio>
#include <cmath>
#define ll long long
ll phi(ll x)
{
ll ans = x,qwq = sqrt(x);
for(ll i = 2;i <= qwq;++i)
if(x % i == 0)
{
ans = ans - ans / i;
while(x % i == 0) x /= i;
}
if(x > 1) ans = ans - ans / x;
return ans;
}
int main() {
ll n;
scanf("%lld",&n);
ll m = sqrt(n);
ll ans = 0;
for(int i = 1;i <= m;++ i) {
if(n % i == 0) ans += i * phi(n / i) + n / i * phi(i);
}
if(m * m == n) ans -= m * phi(m);
printf("%lld",ans);
}
[SDOi2012]Longge的问题 (数论)的更多相关文章
- BZOJ 2705: [SDOI2012]Longge的问题( 数论 )
T了一版....是因为我找质因数的姿势不对... 考虑n的每个因数对答案的贡献. 答案就是 ∑ d * phi(n / d) (d | n) 直接枚举n的因数然后求phi就行了. 但是我们可以做的更好 ...
- 洛谷P2303 [SDOi2012] Longge的问题 数论
看懂了题解,太妙了TT但是想解释的话可能要很多数学公式打起来太麻烦了TT所以我就先只放代码具体推演的过程我先写在纸上然后拍下来做成图片放上来算辣quq 好的那我先滚去做题了做完这题就把题解放上来.因为 ...
- [bzoj]2705: [SDOI2012]Longge的问题[数论][数学][欧拉函数][gcd]
[bzoj]P2705 OR [luogu]P2303 Longge的问题 Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需 ...
- Bzoj 2705: [SDOI2012]Longge的问题 欧拉函数,数论
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1959 Solved: 1229[Submit][ ...
- BZOJ 2705: [SDOI2012]Longge的问题 [欧拉函数]
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2553 Solved: 1565[Submit][ ...
- BZOJ 2705: [SDOI2012]Longge的问题
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 2554 Solved: 1566[Submit][ ...
- BZOJ 2705: [SDOI2012]Longge的问题 GCD
2705: [SDOI2012]Longge的问题 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnl ...
- bzoj 2705: [SDOI2012]Longge的问题 歐拉函數
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1035 Solved: 669[Submit][S ...
- 洛谷 P2303 [SDOi2012]Longge的问题 解题报告
P2303 [SDOi2012]Longge的问题 题目背景 SDOi2012 题目描述 Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数\(N\),你需要 ...
随机推荐
- [Xcode 实际操作]九、实用进阶-(16)给图片添加水印效果
目录:[Swift]Xcode实际操作 本文将演示如何截取屏幕画面,并将截取图片,存入系统相册. 在项目文件夹[DemoApp]上点击鼠标右键 ->[New File]创建一个扩展文件-> ...
- Node.js 的回调模式
我们都知道在javaScript中,如果在head标签里面引入script脚本,在打开web的时候,浏览器会先加载head中的信息,再加载body的信息: 如果head中有link标签,浏览器会开启一 ...
- kuangbin大佬的高斯消元模板
dalao解释的博客 #include <bits/stdc++.h> using namespace std; ; int a[MAXN][MAXN];//增广矩阵 int x[MAXN ...
- SpringBoot | idea新建项目
1.new ----> Spring Initializr 2.设置相应文件名 3.选择需要配置
- flask环境安装
virtualenv venv #创建venv .venv/bin/activate #进入venv venv/bin/pip install flask venv/bin/pip install f ...
- 深入理解synchronized
上一篇博客虽然题目叫内置锁的基本使用,但其实也是讲synchronized关键字的使用的.这篇博客是在看了许多大佬的博客记录后总结出的synchronized更底层的知识和原理. 一.synchron ...
- [已读]精通AngularJS
觉得可以看第二遍,内容其实还不错啦,就是翻译会有点生硬.
- Dubbo理论知识
本文是作者根据官方文档以及自己平时的使用情况,对 Dubbo 所做的一个总结.如果不懂 Dubbo 的使用的话,可以参考我的这篇文章<超详细,新手都能看懂 !使用SpringBoot+Dubbo ...
- Unity Shader入门精要学习笔记 - 第2章 渲染流水线
来源作者:candycat http://blog.csdn.net/candycat1992/article/ 2.1 综述 渲染流水线的最终目的在于生成或者说是渲染一张二维纹理,即我们在电脑屏 ...
- javaScript中的严格模式 (译)
“use strict”状态指示浏览器使用严格模式,是javaScript中一个相对少且安全的特征集. 特征列表(非完全列举) 不允许定义全局变量.(捕获没有用var声明的变量和变量名的拼写错误) 在 ...