《技术人的战略升维:用“余行补位”方法论,驱动专精特新企业迈向生态引擎》

核心内容摘要

Ollama+grainte-4.0-h-350m:12种语言文本生成一键体验
Z-Image-Base开放检查点价值:开发者微调实战教程

Runway 推出可定制实时数字人,支持企业知识库;钉钉发布 DingTalk A1 医生版丨日报

题目描述一个可重复数字集合 S 的神秘数定义为最小的不能被 S 的子集的和表示的正整数。

例如 S{1,1,1,4,13}有11211311144541641174111。

8 无法表示为集合 S 的子集的和故集合 S 的神秘数为 8。

现给定长度为 n 的正整数序列 am 次询问每次询问包含两个参数 l,r你需要求出由 al​,al1​,⋯,ar​ 所组成的可重集合的神秘数。

输入格式第一行一个整数 n表示数字个数。

第二行 n 个正整数从 1 编号。

第三行一个整数 m表示询问个数。

输出格式对于每个询问输出一行对应的答案。

输入输出样例输入 #1复制5 1 2 4 9 10 5 1 1 1 2 1 3 1 4 1 5输出 #1复制2 4 8 8 8说明/提示对于 100% 的数据点1≤n,m≤105∑a≤109。

代码实现#includebits/stdc.h using namespace std; #define il inline #define rg register #define ll long long il int rd() { int res0,k1;char chgetchar(); while(ch9||ch

{if(ch-)k-1;chgetchar();} while(ch9ch

{resres*10ch-48;chgetchar();} return res*k; } il void wt(int x) { if(x

return putchar(-),wt(-x),void(); if(x

return putchar(x

,void(); return wt(x/

,wt(x%

,void(); } int lg[100005], a[100005], n, m; struct st { int st[100005][17]; ll sum[100005]; void init(int llim, int rlim) { sum[0]0; for(rg int i1;in;i) if(a[i]llima[i]rlim)st[i][0]a[i],sum[i]sum[i-1]a[i]; else st[i][0]0x3f3f3f3f,sum[i]sum[i-1]; for(rg int j1;(1j)n;j) for(rg int i1;i(1j)n1;i) st[i][j]min(st[i][j-1],st[i(1(j-

)][j-1]); } ll qry_min(int l, int r) { int dlg[r-l]; return min(st[l][d],st[r-(1d)1][d]); } ll qry_sum(int l, int r) { return sum[r]-sum[l-1]; } } b[30]; signed main() { nrd(); for(rg int i1;in;i) a[i]rd(); mrd(); for(rg int i2;in;i) lg[i]lg[i1]1; b[0].init(1,

; for(rg int i1,t2;i29;i,t1ll) b[i].init(t,tt-

; for(rg int i1,l,r;im;i) { lrd();rrd(); ll ans0; int t0; while(t

{ if(ans1llmin(b[t].qry_min(l,r),(1ll(t

)-

) break; ansb[t].qry_sum(l,r); t; } wt(ans1ll); puts(); } return 0; }

数据微览!污版免费拔完萝卜动漫-数据微览!污版免费拔完萝卜动漫应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123