bzoj DZY Loves Math V
Time Limit: 10 Sec Memory Limit: 256 MB
Submit: 509 Solved: 284
[Submit][Status][Discuss]
Description
给定n个正整数a1,a2,…,an,求

的值(答案模10^9+7)。
Input
Output
Sample Input
6
10
15
Sample Output
HINT
1<=n<=10^5,1<=ai<=10^7。共3组数据。
Source
#include<bits/stdc++.h>
#define ll long long
#define maxn 100005
#define maxm 10000000
#define ha 1000000007
#define pb push_back
using namespace std;
vector<int> g[maxn*];
//g[i]存第i个出现的质因子的指数集合
int cnt=,n,m,dy[maxm+];
int ans=,now,mx[maxn*];
int mul[maxn]; inline int ksm(int x,int y){
int an=;
for(;y;y>>=,x=x*(ll)x%ha) if(y&) an=an*(ll)x%ha;
return an;
} inline void dvd(){
//质因数分解预处理出每个质因子有的指数集合
//dy[i]表示i这个质因子是第几个出现的
m=sqrt(now+0.5);
int c;
for(int i=;i<=m;i++) if(!(now%i)){
c=;
if(!dy[i]) dy[i]=++cnt;
while(!(now%i)) c++,now/=i;
g[dy[i]].pb(c),mx[dy[i]]=max(mx[dy[i]],c); if(now==) break;
} if(now!=){
if(!dy[now]) dy[now]=++cnt;
g[dy[now]].pb(),mx[dy[now]]=max(mx[dy[now]],);
}
} inline void solve(int x){
int tot=,dig=,pos=dy[x];
mul[]=;
//预处理等比数列前缀和
for(int i=;i<=mx[pos];i++){
dig=dig*(ll)x%ha;
mul[i]=mul[i-]+dig;
if(mul[i]>=ha) mul[i]-=ha;
} for(int i=g[pos].size()-;i>=;i--){
tot=tot*(ll)mul[g[pos][i]]%ha;
}
tot--;
if(tot<) tot+=ha;
tot=tot*(ll)(x-)%ha*(ll)ksm(x,ha-)%ha;
tot++; ans=ans*(ll)tot%ha;
} int main(){
// freopen("data.in","r",stdin);
// freopen("data.out","w",stdout); scanf("%d",&n);
while(n--){
scanf("%d",&now);
dvd();
} for(int i=;i<=maxm;i++) if(dy[i]) solve(i); printf("%d\n",ans);
return ;
}
bzoj DZY Loves Math V的更多相关文章
- 【BZOJ 3560】 3560: DZY Loves Math V (欧拉函数)
3560: DZY Loves Math V Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 241 Solved: 133 Description ...
- [BZOJ] DZY Loves Math 系列 I && II
为了让自己看起来有点事干 ,做个套题吧..不然老是东翻翻西翻翻也不知道在干嘛... \(\bf 3309: DZY \ Loves \ Math\) 令 \(h=f*\mu\) 很明显题目要求的就是\ ...
- bzoj 3560 DZY Loves Math V - 线性筛 - 扩展欧几里得算法
给定n个正整数a1,a2,…,an,求 的值(答案模10^9+7). Input 第一行一个正整数n. 接下来n行,每行一个正整数,分别为a1,a2,…,an. Output 仅一行答案. Sampl ...
- BZOJ3560 DZY Loves Math V 数论 快速幂
原文链接http://www.cnblogs.com/zhouzhendong/p/8111725.html UPD(2018-03-26):蒟蒻回来重新学数论了.更新了题解和代码.之前的怼到后面去了 ...
- BZOJ3560 : DZY Loves Math V
因为欧拉函数是非完全积性函数,所以可以考虑对每个数进行分解质因数,将每个质数的解乘起来即可. 对于一个质数$p$,设它在各个数中分别出现了$b_1,b_2,...b_n$次,那么由生成函数和欧拉函数的 ...
- BZOJ3560 DZY Loves Math V(欧拉函数)
对每个质因子分开计算再乘起来.使用类似生成函数的做法就很容易统计了. #include<iostream> #include<cstdio> #include<cmath ...
- BZOJ DZY Loves Math系列
⑤(BZOJ 3560) $\Sigma_{i_1|a_1}\Sigma_{i_2|a_2}\Sigma_{i_3|a_3}\Sigma_{i_4|a_4}...\Sigma_{i_n|a_n}\ph ...
- [BZOJ3560]DZY Loves Math V(欧拉函数)
https://www.cnblogs.com/zwfymqz/p/9332753.html 由于欧拉函数是积性函数,可以用乘法分配律变成对每个质因子分开算最后乘起来.再由欧拉函数公式和分配律发现就是 ...
- 【bzoj3560】DZY Loves Math V 欧拉函数
题目描述 给定n个正整数a1,a2,…,an,求 的值(答案模10^9+7). 输入 第一行一个正整数n. 接下来n行,每行一个正整数,分别为a1,a2,…,an. 输出 仅一行答案. 样例输入 3 ...
随机推荐
- Swing中使用UIManager批量自定义单一JComponent组件默认属性
最近在研究Swing,被它的复杂性气的快吐血了,刚才本打算把JFrame的背景色换成白底,结果发现事情没想象中那么顺利,调用setBackground完全没有效果,猛然醒悟到JPanel本身是带不透明 ...
- ubuntu下使用sudo 出现unable to resolve host 解决方法
Linux 环境, 假设这台机器名字叫dev(机器的hostname), 每次执行sudo 就出现这个警告讯息:sudo: unable to resolve host dev虽然sudo 还是可以正 ...
- 如何配置开源中国Maven库以加快依赖包下载速度
有时有某些地方由于网络问题,访问maven主仓库比较慢,甚至有可能无法下载某些jar包,此时可以把开源中国Maven库配置到settings.xml文件中,加快依赖包的下载速度. 具体如何配置? 在m ...
- 论文笔记《Spatial Memory for Context Reasoning in Object Detection》
好久不写论文笔记了,不是没看,而是很少看到好的或者说值得记的了,今天被xinlei这篇paper炸了出来,这篇被据老大说xinlei自称idea of the year,所以看的时候还是很认真的,然后 ...
- codeforces 1060 B
https://codeforces.com/contest/1060/problem/B 题意:给你一个数C ,你要找到两个数A.B,使得A+B=C并且A的每个位的数的和最大,求最大的和是多少 题解 ...
- Awk basic and practice
定义:Awk是一种程序语言,用来处理数据和产生报告.数据可来自标准输入,文件,管道输出. 格式:#awk '/pattern/ {action}' filename 术语:pattern, 样式是由正 ...
- nginx 设置client header 的大小与400错误
nginx默认的header长度上限是4k,如果超过了这个值 如果header头信息请求超过了,nginx会直接返回400错误可以通过以下2个参数来调整nginx的header上限 client_he ...
- 数据结构&图论:K短路-可持久化可并堆
本来A*就可以搞定的题,为了怕以后卡复杂度,找了个这么个方法 现阶段水平不够就不补充算法分析部分了 对于图G,建立一个以终点t为起点的最短路径构成的最短路径树 (就是反着跑一遍最短路,然后对于一个不为 ...
- [洛谷P2127] 序列排序
洛谷题目链接:序列排序 题目描述 小C有一个N个数的整数序列,这个序列的中的数两两不同.小C每次可以交换序列中的任意两个数,代价为这两个数之和.小C希望将整个序列升序排序,问小C需要的最小代价是多少? ...
- 【LibreOJ】【LOJ】#6220. sum
[题意]对于n个数,找出一些数使得它们的和能被n整除,输出任意一组方案,n<=10^6. [算法]构造/结论 [题解]引用自:http://www.cnblogs.com/Sakits/p/74 ...