40分求助

P1440 求m区间内的最小值

@[AnCangLan](/user/1216851) 这题不是线段树?
by lovely_hyzhuo @ 2024-01-05 16:00:14


@[lovely_hyzhuo](/user/716099) 裸的单调队列啊
by xiaoshumiao @ 2024-01-05 16:04:40


@[AnCangLan](/user/1216851) 50分没TLE: ```c++ #include <iostream> #include <cstdio> #define endl '\n' using namespace std; const int N = 2e6 + 1; long long n, m, a[N]{}, p = 0; int main() { long long min = 0xffffff; ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); cin >> n >> m; for (int i = 0; i < n; i++)cin >> a[i]; cout << 0 << endl; for (int i = 1; i < n; i++) { if (i - m <= 0) { min = (min >= a[i - 1] ? a[i - 1] : min); p = (min >= a[i - 1] ? i : p); cout << min << endl; } else if (p <= i - m) { min = 0xffffff; for (int j = i - m; j < i; j++) { min = (min >= a[j] ? a[j] : min); p = (min >= a[j] ? j : p); } cout << min << endl; } else { min = (min >= a[i] ? a[i] : min); p = (min >= a[i] ? i : p); cout << min << endl; } } return 0; } ```
by User904032 @ 2024-01-05 16:06:39


@[xiaoshumiao](/user/1008513) 线段树不是不能做,但是我T了
by lovely_hyzhuo @ 2024-01-05 16:07:35


@[xiaoshumiao](/user/1008513) 我A了。 线段树要加快读......
by lovely_hyzhuo @ 2024-01-05 16:12:35


|