“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 H
2017-07-13 23:29
316 查看
给定一个长度为n 的非负整数序列,下标为0 ,1 ,…,n−1 .
定义:sequence(K) : 由下标为K 的倍数组成的子序列,即下标为0 ,K ,2K ,...,[n−1/k]∗k
query(K,S)
: 询问sequence(K)
中的第S
大的数字
输入
第一行一个整数T
,表示测试组数。
对于每组数据,第一行输入两个整数n
,m
,1<=n<=20000
, 1<=m<=100000
,n
表示序列的长度,m
表示询问个数。
接下来一行是n
个整数a 0 ,a 1 ,..,a n−1 ,0<=a i <2 31
, i=0,1,…,n−1
,表示序列。
接下来m
行,每行两个整数K,S
0
<
K
<=
10 9
, 1<=S<=n
输出
每组数据对于每个询问输出一行,若sequence(K)
的元素个数小于S
,输出−1
;否则输出query(K,S)
样例输入1 复制
样例输出1
定义:sequence(K) : 由下标为K 的倍数组成的子序列,即下标为0 ,K ,2K ,...,[n−1/k]∗k
query(K,S)
: 询问sequence(K)
中的第S
大的数字
输入
第一行一个整数T
,表示测试组数。
对于每组数据,第一行输入两个整数n
,m
,1<=n<=20000
, 1<=m<=100000
,n
表示序列的长度,m
表示询问个数。
接下来一行是n
个整数a 0 ,a 1 ,..,a n−1 ,0<=a i <2 31
, i=0,1,…,n−1
,表示序列。
接下来m
行,每行两个整数K,S
0
<
K
<=
10 9
, 1<=S<=n
输出
每组数据对于每个询问输出一行,若sequence(K)
的元素个数小于S
,输出−1
;否则输出query(K,S)
样例输入1 复制
1 5 2 2 5 3 4 1 2 4 2 1
样例输出1
-1 3 解法: 1 预处理,对于每一个数字我们都根据题意进行保存,应该复杂度n*logn 2 排序 2.1 k大于n,s==1 数字最小也>=1,输出a[0] 2.2 k<=n k的序列不足S,输出-1,可以的输出保存值
#include<bits/stdc++.h> using namespace std; #define LL long long #define ULL unsigned long long vector<int>Ve[52345]; int a[52345]; bool Vesort(int x,int y){ return x>y; } int main(){ int t; cin>>t; while(t--){ int n,m; for(int i=0;i<=52345;i++){ Ve[i].clear(); } scanf("%d%d",&n,&m); for(int i=0;i<n;i++){ scanf("%d",&a[i]); } for(int i=1;i<=n;i++){ for(int j=0;j<n;j+=i){ Ve[i].push_back(a[j]); } sort(Ve[i].begin(),Ve[i].end(),Vesort); } while(m--){ int k,s; scanf("%d%d",&k,&s); if(k>n){ if(s==1){ printf("%d",a[0]); }else{ printf("-1"); } }else{ if(Ve[k].size()<s){ printf("-1"); }else{ printf("%d",Ve[k][s-1]); } } cout<<endl; } } return 0; }
相关文章推荐
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛:I. 丢史蒂芬妮
- I Love ces“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛
- SHU-“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-H-调和序列
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-神无月排位赛
- 添加好友“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛(重现赛)
- SHU-“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-J-膜一下将带给你好运
- SHU-“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-M-风力观测
- SHU-“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-A~K && M
- (补题心路)——“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-专题
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 A
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 B
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛-O题
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 L 零件组装 状态压缩+预处理优化+枚举子集
- A序列“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 C
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 D
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛 M SHUOJ 422 风力观测
- 购买装备(“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛
- 战斗“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛