码迷,mamicode.com
首页 > 其他好文 > 详细

nyoj Mod

时间:2018-03-08 02:48:42      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:方法   nyoj   body   接下来   下标   blog   区间   整数   bsp   

  

Ocean用巧妙的方法得到了一个序列,该序列有N个元素,我们用数组a来记录(下标从0到N?1)。 
Ocean定义f[i]=(((i%a[0])%a[1])%…)%a[N?1]。 
现在Ocean会给出QQ次查询,每次给定一个区间[L,R],[L,R],他想快速知道∑Ri=Lf[i]∑i=LRf[i] (即f[L]+…+f[R]f[L]+…+f[R])的值。

输入 
第一行输入一个整数T,代表有T组测试数据。 
每组数据占多行,第一行输入一个整数N,代表元素个数。 
下面一行输入N个整数ai。 
下面一行输入一个整数Q,代表Q次查询。 
接下来Q行,每行输入两个整数L,R,代表查询的区间。 
注:1<=T<=20,1<=N,Q<=1000,1<=ai<=100000,1<=L<=R<=100000。 
输出 
对每组测试数据,依次输出QQ行,每行输出对应的查询结果。 
样例输入 


5 4 3 2 1 

1 100000 
2 100000 
3 100000 
4 100000 

5 5 5 5 5 

1 100000 
2 100000 
3 100000 
4 100000 
样例输出 




200000 
199999 
199997 
199994

思路:

用数组记录有序序列。

如果a<=b,则(t%a)%b =t%a; 
如果a>t,则t%a = t; 

 

nyoj Mod

标签:方法   nyoj   body   接下来   下标   blog   区间   整数   bsp   

原文地址:https://www.cnblogs.com/tianzeng/p/8525980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!