万里丛中一点红,这线段树找不出问题啊啊啊!!!

P1816 忠诚

@[larryia](/user/1042486) 找到了
by Perfect_Youth @ 2023-08-31 20:16:13


@[larryia](/user/1042486) A了给我关注哟~~,如下: ```cpp #include <iostream> #define lc p << 1 #define rc p << 1 | 1 #define int long long using namespace std; const int N = 100005; int n, m, w[N], x, y; int minn[N * 4]; void pushup(int p) { minn[p] = min(minn[lc], minn[rc]); } void build(int p, int l, int r) { minn[p] = w[l]; if (l == r) { return; } int mid = (l + r) >> 1; build(lc, l, mid), build(rc, mid + 1, r); pushup(p); } int query(int p, int x, int y, int l, int r) { if (x > r || y < l) return 1e9; if (x <= l && r <= y) { return minn[p]; } int mid = (l + r) >> 1; return min(query(lc, x, y, l, mid), query(rc, x, y, mid + 1, r)); } signed main() { cin >> m >> n; for (int i = 1; i <= m; i++) { cin >> w[i]; } build(1, 1, m); for (int i = 0; i < n; i++) { cin >> x >> y; cout << query(1, x, y, 1, m) << ' '; } return 0; } ```
by Perfect_Youth @ 2023-08-31 20:17:53


@[Perfect_Youth](/user/725816) 哈哈哈在你找到之前我也找到了
by larryia @ 2023-08-31 20:24:28


@[Perfect_Youth](/user/725816) 不过感谢了哈
by larryia @ 2023-08-31 20:24:53


|