區間k大數查詢
#include<algorithm>
using namespace std;
#define N 10000
#define M 100
int main(int argc, char** argv) {
int n,m;//n表示序列長度;m表示查詢次數
cin>>n;
int a[N];//用一個數組獲取序列數值
int b[M];
int l,r,k;
for(int i=0;i<n;i++){
cin>>a[i];
}
// for(int i=0;i<n;i++){
// cout<<a[i]<<" ";
// }
cin>>m;
sort(a,a+n);//對序列進行排序
// for(int i=0;i<n;i++){
// cout<<a[i]<<" ";
// }
for(int i=0;i<m;i++){
cin>>l>>r>>k;
if(k<=(r-l+1)){
b[i]=a[r-1-k+1];
}
}
for(int i=0;i<m;i++){
cout<<b[i]<<endl;
}
return 0;
}
相關推薦
算法訓練 區間k大數查詢
pri .text post ring new div public read 一個 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序列。 第三個包含一個正整
ALGO-1 區間k大數查詢
/*ALGO-1 區間k大數查詢 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序列。 第三個包含一個正整數m,表示詢問個數。 接下來m行,每行三個數l,r,K,表示詢問序列從左往右第l個數
藍橋杯 演算法訓練 區間k大數查詢
明明是一個水題卻wrong answer了很多遍。。 還是因為對最基礎的氣泡排序概念不清。蠢死算了。 這下終於搞清楚了。 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數
演算法訓練 區間k大數查詢
問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序列。 第三個包含一個正整數m,表示
ALGO-1演算法訓練 區間k大數查詢
這麼簡單的題做了這麼多遍才對,腦子壞掉了吧! #include <iostream> #include<algorithm> #include<stdio.h> #include<string.h> using n
藍橋杯演算法題庫 區間k大數查詢
藍橋杯演算法題庫 區間k大數查詢 題目 解題思路 題目 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的
藍橋杯練習-演算法訓練-區間k大數查詢
藍橋杯練習-演算法訓練-區間k大數查詢 題目連結 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序列。 第三個包含一個正
藍橋杯-演算法訓練-區間k大數查詢
演算法訓練 區間k大數查詢 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序列。 第三個包含一個正整數m,
ALGO-1區間K大數查詢
題目 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序列。 第三個包含一個正整數m,表示詢問個數。 接下來m行,每行三個數l,r,K,表示詢問序列從左往右第l個數到第r個數中,從大往
藍橋杯題解-區間K大數查詢-ALGO-1
原題地址:區間K大數查詢 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序列。 第三個包含一個正整數m,表示詢問個數。 接下來m行,每行三個數l,r,K,
藍橋杯:ALGO-1 區間k大數查詢
問題描述: 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式: 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序列。 第三個包含一個正整數m,表示詢問個數。 接下來m行,每行三個數l,r,K,表示詢問序列從左往右第l個數到第r
區間k大數查詢
#include <iostream> #include<algorithm> using namespace std; #define N 10000 #define M 100 int main(int argc, char** argv) { int n,m;//n表示序
藍橋杯算法訓練 區間k大數查詢
復制 輸出 正整數 spa emc nbsp pre 第k大 con 算法訓練 區間k大數查詢 問題描述 給定一個序列,每次詢問序列中第l個數到第r個數中第K大的數是哪個。 輸入格式 第一行包含一個數n,表示序列長度。 第二行包含n個正整數,表示給定的序
藍橋杯 演算法訓練 區間K大數查詢 冒泡法排序重溫
對於30%的資料,n,m<=100; 對於100%的資料,n,m<=1000; 保證k<=(r-l+1),序列中的數<=106。 這道題的難度不大,但是由於基礎不牢固,沒有很好地領悟冒泡法排序,一開始寫得並不到位。下面首先是正確的程式碼: #include<stdio
洛谷P3332 [ZJOI2013]K大數查詢 權值線段樹套區間線段樹_標記永久化
Code: #include <cstdio> #include <algorithm> #include <string> #include <cstring> using namespace std; #define maxn 50005*256
bzoj3110: [Zjoi2013]K大數查詢(權值線段樹套區間線段樹)
題目 內層線段樹維護權值k在[l,r]內出現次數 #include<bits/stdc++.h> using namespace std; typedef unsigned int ll; #define mid ((l+r)>>1) const int N=20
【BZOJ3110】[Zjoi2013]K大數查詢 樹套樹
names getchar truct abs rip bzoj3 string num sam 【BZOJ3110】[Zjoi2013]K大數查詢 Description 有N個位置,M個操作。操作有兩種,每次操作如果是1 a b c的形式表示在第a個位置到第b個
[BZOJ3110][ZJOI2013]K大數查詢
div gin 代碼 class clu getchar() mar 一行 zoj BZOJ Luogu Description 有N個位置,M個操作。操作有兩種,每次操作如果是1 a b c的形式表示在第a個位置到第b個位置,每個位置加入一個數c 如果是2 a b c形式
BZOJ 3110 [Zjoi2013]K大數查詢
lin 時間 樹狀數組 永久 方便 大數 com 都差不多 樹狀 這是一道非常經典的模版題,做法萬變不離其宗,但是還是有不少可記敘的。 法一:值域線段樹套序列線段樹 這應該是見得很多的做法了,也是我最先寫的做法。值域線段樹上每個結點都對應了一棵序列線段樹,值域線
BZOJ3110:[Zjoi2013]K大數查詢——題解
line href sdi type bzoj3110 return target getch gpo +++++++++++++++++++++++++++++++++++++++++++ +本文作者:luyouqi233。 + +歡迎訪問