[传智杯 #4 初赛] 萝卜数据库 题解

· · 题解

本题使用循环结构和数组即可解决。

具体地,我们使用一个二维数组 s(用 vectorvector 实现)即可。

每次插入操作,就对 s_x 插入 p 个数,可使用 emplace_back 插入函数:

int p; cin>>p;
while(p--){
  int x,y; cin>>x>>y;
  s[x-1].emplace_back(y);
}

查询时,只需遍历数组并判断元素是否符合条件即可:

int x,l,r,c=0; cin>>x>>l>>r;
for(auto &i:s[x-1])if(i>=l&&i<=r)c++;
cout<<c<<endl;