【2016-大连赛区网络赛-H】优化(Function,hdu 5875)
2016-09-11 22:41
513 查看
http://www.cnblogs.com/wt20/p/5861613.html
#include<bits/stdc++.h>
#define maxn 100010
using namespace std;
typedef long long ll;
ll A[maxn];
ll Next[maxn];
ll N;
int main()
{
ll T;
scanf("%I64d",&T);
while(T--)
{
scanf("%I64d",&N);
for(ll i=1;i<=N;i++)
scanf("%I64d",&A[i]);
for(ll i=1;i<=N;i++)
{
ll j;
for(j=i+1;j<=N;j++)
if(A[j]<=A[i])
break;
Next[i]=j;
}
ll Q;
scanf("%I64d",&Q);
ll l,r;
while(Q--)
{
scanf("%I64d %I64d",&l,&r);
ll cur=l+1;
ll ans=A[l];
while(cur<=r)
{
ans%=A[cur];
cur=Next[cur];
}
printf("%I64d\n",ans);
}
}
return 0;
}
#include<bits/stdc++.h>
#define maxn 100010
using namespace std;
typedef long long ll;
ll A[maxn];
ll Next[maxn];
ll N;
int main()
{
ll T;
scanf("%I64d",&T);
while(T--)
{
scanf("%I64d",&N);
for(ll i=1;i<=N;i++)
scanf("%I64d",&A[i]);
for(ll i=1;i<=N;i++)
{
ll j;
for(j=i+1;j<=N;j++)
if(A[j]<=A[i])
break;
Next[i]=j;
}
ll Q;
scanf("%I64d",&Q);
ll l,r;
while(Q--)
{
scanf("%I64d %I64d",&l,&r);
ll cur=l+1;
ll ans=A[l];
while(cur<=r)
{
ans%=A[cur];
cur=Next[cur];
}
printf("%I64d\n",ans);
}
}
return 0;
}
相关文章推荐
- HDU 5875 Function -2016 ICPC 大连赛区网络赛
- hdu 5875 Function 2016ACM/ICPC大连赛区网络赛1008
- 2016 ICPC 大连网络赛 HDU 5875 Function
- hdu 5875 Function -线段树+取余 -ICPC网络赛大连赛区
- HDU 5875 Function 2016亚洲区域赛大连网络赛
- 【2016-大连赛区网络赛-J】线段树,dfs(Weak Pair,hdu 5877)
- HDU 5875 Function 大连网络赛 线段树
- HDU 5875 Function 大连网络赛
- hdu 5869 Different GCD Subarray Query 2016ACM/ICPC大连赛区网络赛1002
- 【2016-大连赛区网络赛-B】树状数组(Different GCD Subarray Query,hdu 5869)
- 【2016-大连赛区网络赛-F】水题(Football Games,hdu 5873)
- HDU 5875 Function (2016年大连网络赛 H 线段树+gcd)
- 【2016-大连赛区网络赛-G】(Friends and Enemies,hdu 5874)
- 【2016-大连赛区网络赛-I】补图最短路(Sparse Graph,hdu 5876)
- hdu 5869 Different GCD Subarray Query 2016ACM/ICPC大连赛区网络赛1006
- HDU 5875 Function 大连网络赛 线段树
- 2016 大连网络赛 hdu 5869 Different GCD Subarray Query(gcd+树状数组)★ ★
- HDU 5873 - Football Match【2016大连区域赛网络赛1006】
- 2016 ICPC 大连网络赛 HDU 5877 Weak Pair
- 2016 ICPC 大连网络赛 HDU 5876 Sparse Graph