博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 5288 OO’s Sequence 水题
阅读量:5774 次
发布时间:2019-06-18

本文共 1622 字,大约阅读时间需要 5 分钟。

OO’s Sequence

题目连接:

Description

OO has got a array A of size n ,defined a function f(l,r) represent the number of i (l<=i<=r) , that there's no j(l<=j<=r,j<>i) satisfy ai mod aj=0,now OO want to know

∑i=1n∑j=inf(i,j) mod (109+7).

Input

There are multiple test cases. Please process till EOF.

In each test case:
First line: an integer n(n<=10^5) indicating the size of array
Second line:contain n numbers ai(0<ai<=10000)

Output

For each tests: ouput a line contain a number ans.

Sample Input

5

1 2 3 4 5

Sample Output

23

Hint

题意

f(l,r)表示[l,r]区间中有多少个i满足在这个区间中找不到其他j使得ai%aj=0

然后让你输出所有f(l,r)的累加。

题解:

对于每一个位置,我算贡献就好了。

直接暴力分解a[i]就好了。

复杂度nsqrtn的。

代码

#include
using namespace std;const int maxn = 1e5+6;const int mod = 1e9+7;int a[maxn],n;int L[maxn],R[maxn];int p[maxn];int main(){ while(scanf("%d",&n)!=EOF) { memset(L,0,sizeof(L)); memset(R,0,sizeof(R)); memset(p,0,sizeof(p)); memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) { for(int j=1;j<=sqrt(a[i]);j++) if(a[i]%j==0)L[i]=max(L[i],p[j]+1),L[i]=max(L[i],p[a[i]/j]+1); p[a[i]]=i; } reverse(a+1,a+1+n); memset(p,0,sizeof(p)); for(int i=1;i<=n;i++) { for(int j=1;j<=sqrt(a[i]);j++) if(a[i]%j==0)R[i]=max(R[i],p[j]+1),R[i]=max(R[i],p[a[i]/j]+1); p[a[i]]=i; } long long ans = 0; for(int i=1;i<=n;i++) { ans += 1ll*(i-L[i]+1)*(n-R[n-i+1]+1-i+1); ans%=mod; //cout<
<<" "<
<

转载地址:http://ckaux.baihongyu.com/

你可能感兴趣的文章
附件3:eclipse memory analyze使用教程
查看>>
oracle备份与恢复--rman
查看>>
Postfix邮件发送和接收实验
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
Resume简历中装B的词汇总结大全
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
js原生继承之——构造函数式继承实例
查看>>
linux定时任务的设置
查看>>
[CareerCup] 13.3 Virtual Functions 虚函数
查看>>
[Angular 2] ng-model and ng-for with Select and Option elements
查看>>
Visio中如何让重叠图形都显示
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件
查看>>