假的線段樹

2021-08-15 02:25:10 字數 993 閱讀 2492

時間限制: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...