時間限制:c/c++ 1秒,其他語言2秒
空間限制:c/c++ 32768k,其他語言65536k
64bit io format: %lld
題目描述
給你乙個長為n的序列a,有m次操作
1.把區間[l,r]內所有x變成y
2.查詢區間[l,r]內第k小值
輸入描述:
第一行兩個數n,m
第二行n個數表示序列a
後面m行
1 l r x y :把區間[l,r]中所有x變成y
2 l r k :查詢區間[l,r]中的第k小值
輸出描述:
對於每個詢問,輸出乙個數表示答案
示例1
輸入3 3
2 3 3
2 1 3 1
1 1 3 3 1
2 1 3 2
輸出2
1 備註:
對於100%的資料,1 <= n, m , ai <= 1000
#include
#include
#include
#include
#include
using
namespace
std;
const
int max = 1e6+100;
const
int inf = 0x3fffffff;
int a[max];
multiset
se;int n,m;
int main()
int l,r,x,y,t,k;
while(m--)
}else
int i=1;
set::iterator it;
for(it=se.begin();it!=se.end();it++,i++)}}
}}
return
0;}
假的線段樹
時間限制 c c 1秒,其他語言2秒 空間限制 c c 32768k,其他語言65536k 64bit io format lld 題目描述 給你乙個長為n的序列a,有m次操作 1.把區間 l,r 內所有x變成y 2.查詢區間 l,r 內第k小值 輸入描述 第一行兩個數n,m 第二行n個數表示序列a...
bzoj4695 最假女選手 吉利線段樹
給出長為n 5e5 的序列,要求支援區間加 區間取min max 區間求和 區間求min max。我 好久好久以前 就想學這個科技 o nlog 2n o n log2 n 的segme nttr eebe ats se gmen ttre ebea ts 區間取min max時,對於被包含的區間,...
模板 假的平衡樹
有很多方法維護以下要求的數.here 而我,很不要臉的用vector水了過去!捂臉 維護一些數,其中需要提供以下操作 1 插入x數 2 刪除x數 若有多個相同的數,因只刪除乙個 3 查詢x數的排名 排名定義為比當前數小的數的個數 1。若有多個相同的數,因輸出最小的排名 4 查詢排名為x的數 5 求x...