分塊 (尋找區間小於k的最大值

2022-09-07 19:57:10 字數 1147 閱讀 7298

一題簡單的分塊操作,聽說要用set卡就打了下但是感覺貌似不用,好像vector處理也能過。

題目鏈結

1 #include2

using

namespace

std;

3 typedef long

long

ll;4

const

int maxn = 1e5+10;5

const

int inf = 0x3f3f3f3f;6

int dir[10][10] = ,,,};

7int pos[maxn*2], a[maxn*2], lz[maxn*2

], minn[maxn];

8int

l, r, opt, t, n, c, k;

9set

s[2010]; //

用從大到小就是 set> s[2010];

1011 inline int

read()

1215

while(ch >= '

0' && ch <= '

9')

16return k * f;17}

1819 inline void reset(int

x)20

2425 inline void inser(int l, int r, int

c)26

3233

else

344142}

4344 inline int findy(int l, int r, int

c)45

5354}55

56else

576869}

7071

return

ans;72}

7374

intmain()

7585

86for(int i = 1; i <= n; ++i)

879697}

9899

return0;

100 }

其中有很多地方**都可以更加簡潔一些,比如維護個l,r陣列。但我可能順著思路寫就有點死腦筋,導致檢查起來也不太好看。

用*lower_bound()進行判斷容易卡(別問我為什麼知道。。

第一篇隨筆,不周到之處見諒

opencv minMaxldx尋找最大值和最小值

這個函式等同於 minmaxloc include include include int main int argc,char ar cv mat src 2,3 cv 32fc1,rawdata std cout src endl double minv 0.0,maxv 0.0 double ...

hihoCoder 1496 尋找最大值

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述 給定n個數a1,a2,a3,an,小ho想從中找到兩個數ai和aj i j 使得乘積ai aj ai and aj 最大。其中and是按位與操作。小ho當然知道怎麼做。現在他想把這個問題交給你。輸入 第一行乙個數t,表示...

hihocoder 1496 尋找最大值

我是真心沒想到,暴力也能過 說好的數學題一般都是有什麼小技巧的麼?到這裡怎麼成了暴力!都是套路啊啊啊啊啊啊!時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 給定n個數a1,a2,a3,an,小ho想從中找到兩個數ai和aj i j 使得乘積ai aj ai and aj 最...