时间:2021-07-01 10:21:17 帮助过:3人阅读
The Little Elephant loves the LCM (least common multiple) operation of a non-empty set of positive integers. The result of the LCM operation of k positive integers x1,?x2,?...,?xk is the minimum positive integer that is divisible by each of numbers xi.
Let's assume that there is a sequence of integers b1,?b2,?...,?bn. Let's denote their LCMs as lcm(b1,?b2,?...,?bn) and the maximum of them as max(b1,?b2,?...,?bn). The Little Elephant considers a sequence b good, if lcm(b1,?b2,?...,?bn)?=?max(b1,?b2,?...,?bn).
The Little Elephant has a sequence of integers a1,?a2,?...,?an. Help him find the number of good sequences of integers b1,?b2,?...,?bn, such that for all i (1?≤?i?≤?n) the following condition fulfills: 1?≤?bi?≤?ai. As the answer can be rather large, print the remainder from dividing it by 1000000007 (109?+?7).
InputThe first line contains a single positive integer n (1?≤?n?≤?105) — the number of integers in the sequence a. The second line contains nspace-separated integers a1,?a2,?...,?an (1?≤?ai?≤?105) — sequence a.
OutputIn the single line print a single integer — the answer to the problem modulo 1000000007 (109?+?7).
Sample test(s)4 1 4 3 2output
15input
2 6 3output
13
题意:
给你一个a序列,找出一个b序列,1?≤?bi?≤?ai,使得max(bi)=lcm(bi),问这样的bi序列有多少个。
思路:
先对a排序,枚举i=max(bi),对i因式分解,那么大于等于i的部分很好处理,直接pow_mod()相减,小于i的部分就任意取一个约束就够了。
代码:
#include#include #include #include #include #include #define INF 0x3f3f3f3f #define maxn 100005 #define mod 1000000007 typedef long long ll; using namespace std; int n; int a[maxn]; ll pow_mod(ll x,ll n) { ll res = 1; while(n) { if(n&1) res = res * x %mod; x = x * x %mod; n >>= 1; } return res; } void solve() { int i,j; ll ans=0,res; sort(a+1,a+n+1); for(i=1;i<=a[n];i++) // 枚举答案 { vector fac; for(j=1;j*j<=i;j++) // factor { if(i%j==0) { fac.push_back(j); if(j*j!=i) fac.push_back(i/j); } } sort(fac.begin(),fac.end()); int pos,pre=1; res=1; for(j=1;j http://www.bkjia.com/PHPjc/907369.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/907369.htmlTechArticleCodeforces Round #157 (Div. 1) C. Little Elephant and LCM (数学、dp) C. Little Elephant and LCMtime limit per test4 secondsmemory limit per test256 megabytesinputstandard in...