先对b从小到大sort,判断b是不是比sqrt(n)大,是的话就直接暴力,不是的话就用dp维护一下

dp【i】表示以nb为等差,i为起点的答案,可以节省nb相同的情况

#include<bits/stdc++.h>
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define pii pair<int,int>
#define C 0.5772156649
#define pi acos(-1.0)
#define ll long long
#define mod 1000000007
#define ls l,m,rt<<1
#define rs m+1,r,rt<<1|1 using namespace std; const double g=10.0,eps=1e-;
const int N=+,maxn=+,inf=0x3f3f3f; int n,m;
ll ans[N],dp[N],w[N];
struct node{
int a,b,id;
}c[N];
bool comp(node x,node y)
{
if(x.b!=y.b)return x.b<y.b;
return x.a<y.a;
}
int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)scanf("%I64d",&w[i]);
scanf("%d",&m);
for(int i=;i<=m;i++)
{
scanf("%d%d",&c[i].a,&c[i].b);
c[i].id=i;
}
sort(c+,c+m+,comp);
int nb=;
for(int i=;i<=m;i++)
{
if(c[i].b>sqrt(0.5+n))
{
for(int j=c[i].a;j<=n;j+=c[i].b)
ans[c[i].id]+=w[j];
}
else
{
if(c[i].b!=nb||dp[c[i].a]==)
{
for(int j=n;j>=;j--)
{
if(j+c[i].b<=n)dp[j]=dp[j+c[i].b]+w[j];
else dp[j]=w[j];
}
}
ans[c[i].id]=dp[c[i].a];
nb=c[i].b;
}
}
for(int i=;i<=m;i++)
printf("%I64d\n",ans[i]);
return ;
}
/****************
5
3 2 4 5 6
8
4 2
3 1
3 5
3 4
3 5
5 5
4 4
5 3
****************/

最新文章

  1. python爬虫学习(7) —— 爬取你的AC代码
  2. Pyqt SpVoice朗读功能
  3. php基础_函数和类
  4. 微信事业群WXG成立 致力于打造微信大平台
  5. 转 SSIS处理导入数据时, 存在的更新, 不存在的插入
  6. 【个人使用.Net类库】(2)Log日志记录类
  7. Ubuntu14.04进入文本模式方法
  8. Entity Framwork db First 中 Model验证解决办法。
  9. sql server windows账号不能登陆指定的数据库
  10. Powershell变量的类型和强类型
  11. Java使用千分位并保留两位小数
  12. wl18xx编译的时候出现WARNING: &quot;simple_open&quot; WARNING: &quot;wl12xx_get_platform_data&quot;
  13. 349B - C. Mafia
  14. mysql 聚集函数 count 使用详解(转载)
  15. Hadoop之HDFS思维导图
  16. day0320 时间模块 collection模块
  17. iOS.NS_DEPRECATED_IOS
  18. Can&#39;t create pdf file with font calibri bold 错误解决方案
  19. 用Nodejs连接MySQL(原文链接)
  20. mysql 把表中某一列的内容合并为一行

热门文章

  1. 我的Android进阶之旅------>Android使用cmd窗口进行adb logcat时出现中文乱码问题的解决办法
  2. java.sql.SQLException: The user specified as a definer (&#39;root&#39;@&#39;%&#39;) does not exist
  3. YAMLException: can not read a block mapping entry; a multiline key may not be an implicit key at line 5, column 1:
  4. 2.3 使用ARDUINO控制MC20进行GPRS的TCP通讯
  5. 函数编程——匿名函数与lambda(一)
  6. VS 无法调试 IIS
  7. LDAP注入
  8. SpringBoot整合Redis集群
  9. imx6solo wm8960始终没有声音输出
  10. spring boot未配置数据源报错