【bzoj4146】[AMPPZ2014]Divisors 数论
原文地址:http://www.cnblogs.com/GXZlegend/p/6801411.html
题目描述
输入
输出
样例输入
5
2 4 5 2 6
样例输出
6
题解
数论
根据微积分什么的能得出n/1+n/2+...+n/n<n(ln n+1)
然后枚举1到maxa的每个数。
由于两个相同的数符合条件,则当有n个相同的数时二元组个数为n(n-1)。
再依次向上查找该数的倍数,二元组个数为n1*n2。
然后加起来就好了。
#include <cstdio>
#include <algorithm>
using namespace std;
long long v[2000010];
int main()
{
int n , m = 0 , i , j , x;
long long ans = 0;
scanf("%d" , &n);
for(i = 1 ; i <= n ; i ++ )
scanf("%d" , &x) , v[x] ++ , m = max(m , x);
for(i = 1 ; i <= m ; i ++ )
{
ans += v[i] * (v[i] - 1);
for(j = 2 * i ; j <= m ; j += i) ans += v[i] * v[j];
}
printf("%lld\n" , ans);
return 0;
}
【bzoj4146】[AMPPZ2014]Divisors 数论的更多相关文章
- 【BZOJ4146】[AMPPZ2014]Divisors
[BZOJ4146][AMPPZ2014]Divisors Description 给定一个序列a[1],a[2],...,a[n].求满足i!=j且a[i]|a[j]的二元组(i,j)的个数. In ...
- UVA 294 294 - Divisors (数论)
UVA 294 - Divisors 题目链接 题意:求一个区间内,因子最多的数字. 思路:因为区间保证最多1W个数字,因子能够遍历区间.然后利用事先筛出的素数求出质因子,之后因子个数为全部(质因子的 ...
- Project Euler 501 Eight Divisors (数论)
题目链接: https://projecteuler.net/problem=501 题意: \(f(n)\) be the count of numbers not exceeding \(n\) ...
- BZOJ 4146 [AMPPZ2014] Divisors 解题报告
这个题感觉比较小清新... 我们记录每个数出现的次数 $T_i$. 首先依次枚举每个数字,令 $ans = ans + T_i \times (T_i - 1)$,然后枚举这个数的倍数,令 $ans ...
- 【BZOJ】【4146】 【AMPPZ2014】Divisors
暴力 由于值的范围很小($ \leq 2*10^6$),所以用一个cnt数组统计每个值有多少个数,然后从小到大,统计每个数的倍数即可. 根据调和数?的神奇性质= =这样是$O(nlogn)$的…… / ...
- AMPPZ2014
[AMPPZ2014]The Lawyer 记录每天结束的最早的会议以及开始的最晚的会议即可. #include<cstdio> #define N 500010 int n,m,i,d, ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- B - Common Divisors (codeforces)数论算法基本定理,唯一分解定理模板
You are given an array aa consisting of nn integers. Your task is to say the number of such positive ...
- hdu4432 Sum of divisors(数论)
Sum of divisors Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
随机推荐
- 实现一个clone函数,对javascript中的5种数据类型进行值复制
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 关于 export default 和 export
// 第一组 export default function crc32() { // 输出 // ... } import crc32 from 'crc32'; // 输入 // 第二组 expo ...
- (排班表二)后台动态绘制Grid表格
后台动态绘制值班表(Grid表格 列名不固定) 要求:表头除了值班人姓名,还要显示日期,及每天的星期值,用斜杠‘/’分隔.即:几号/星期几 最终实现的效果:根据查询的年月显示每个值班人查询月份每天的值 ...
- Friendly Date Ranges-freecodecamp算法题目
Friendly Date Ranges 1.要求 把常见的日期格式如:YYYY-MM-DD 转换成一种更易读的格式. 易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天 (1st 代替 ...
- 1237: [SCOI2008]配对
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1789 Solved: 715[Submit][Status][Discuss] Descripti ...
- phpmailer类的再封装
email <?php use PHPMailer\PHPMailer\PHPMailer; class Email { const SMTPDebug = 2; const HOST = 's ...
- PHP审计(一)
一.php中常见的危险函数和审计要点 危险函数(功能过于强大) 参数是否外部可控,有没有正确的过滤. PHP获取外界传入参数是通过下面几个全局函数的形式,所以审计参数传入经常要和下面几个变量打交 ...
- 把SmartForm转换成PDF
摘要:将SmartForm转换为PDF的过程包括3个简单步骤. 调用智能窗体,然后返回OTF数据. 使用“转换”功能模块将OTF数据转换为所需格式. 下载文件 呈现宏“code”时出错:为参数“lan ...
- 笔记-爬虫-selenium常用方法
笔记-爬虫-selenium常用方法 1. 查找元素 常用的查找方法 find_element_by_name find_element_by_xpath find_element_by_l ...
- Android面试收集录7 AsyncTask详解
1.Android中的线程 在操作系统中,线程是操作系统调度的最小单元,同时线程又是一种受限的系统资源,即线程不可能无限制地产生, 并且 **线程的创建和销毁都会有相应的开销.**当系统中存在大量的线 ...