洛谷P1816 忠誠 分塊

2022-05-09 17:12:22 字數 566 閱讀 5341

分塊真的是很暴力呀…

暴力查詢左端,暴力查詢又端點,中間整體部分直接 $o(1)$

求出。注意程式設計細節:belong[i]=(i−1)/block+1

,這樣可以保證序列被分成這樣的:

code:

#include#include#include#includeusing namespace std;

const int maxn = 1000000;

const int inf = 100000000;

int n,m;

struct data_structrue

}

inline int query(int l,int r)

for(int i = belong[l] + 1;i < belong[r]; ++i) minn = min(minn, minv[i]); //中間部分直接查詢

return minn;

}}t;

int main()

return 0;

}

洛谷P1816 忠誠

老管家是乙個聰明能幹的人。他為財主工作了整整10年,財主為了讓自已賬目更加清楚。要求管家每天記k次賬,由於管家聰明能幹,因而管家總是讓財主十分滿意。但是由於一些人的挑撥,財主還是對管家產生了懷疑。於是他決定用一種特別的方法來判斷管家的忠誠,他把每次的賬目按1,2,3 編號,然後不定時的問管家問題,問...

倍增 rmq 忠誠 洛谷P1816

老管家是乙個聰明能幹的人。他為財主工作了整整10年,財主為了讓自已賬目更加清楚。要求管家每天記k次賬,由於管家聰明能幹,因而管家總是讓財主十分滿意。但是由於一些人的挑撥,財主還是對管家產生了懷疑。於是他決定用一種特別的方法來判斷管家的忠誠,他把每次的賬目按1,2,3 編號,然後不定時的問管家問題,問...

洛谷P1816 忠誠 線段樹

老管家是乙個聰明能幹的人。他為財主工作了整整10年,財主為了讓自已賬目更加清楚。要求管家每天記k次賬,由於管家聰明能幹,因而管家總是讓財主十分滿意。但是由於一些人的挑撥,財主還是對管家產生了懷疑。於是他決定用一種特別的方法來判斷管家的忠誠,他把每次的賬目按1,2,3 編號,然後不定時的問管家問題,問...