萌新第一天学c艹全WA求调(悬关*1)

P1816 忠诚

```cpp #include <bits/stdc++.h> using namespace std; const int N = 110000; int a[N]; int m , n; int f[N][30]; void init() { //int M = log(m); for(int j = 0 ; j < 25 ; j++)//25就够了 { for(int i = 1 ; i + (1 << j) - 1 <= m ; i++) { if(!j) f[i][j] = a[i]; else f[i][j] = min(f[i][j - 1], f[i + (1 << j - 1)][j - 1]); } } } int query(int l , int r) { int len = r - l + 1; int k = log(len) / log(2); return min(f[l][k] , f[r - (1 << k) + 1][k]); } int main() { cin >> m >> n; for(int i = 1 ; i <= m ; i++) { cin >> a[i]; } init(); while(n--) { int x , y; cin >> x >> y; cout << query(x , y) << ' '; } return 0; } ```
by 2011Andy @ 2023-08-01 10:17:50


@[2011Andy](/user/660871) 感谢,已关![](//图.tk/gh!25)![](//图.tk/gh!25)![](//图.tk/gh!25)
by _______qwq_______ @ 2023-08-01 10:18:17


```cpp #include <bits/stdc++.h> using namespace std; const int N = 110000; int a[N]; int m , n; int f[N][30]; void init() { //int M = log(m); for(int j = 0 ; j < 25 ; j++)//25就够了 { for(int i = 1 ; i + (1 << j) - 1 <= m ; i++) { if(!j) f[i][j] = a[i]; else f[i][j] = min(f[i][j - 1], f[i + (1 << j - 1)][j - 1]); } } } int query(int l , int r) { int len = r - l + 1; int k = log(len) / log(2); return min(f[l][k] , f[r - (1 << k) + 1][k]); } int main() { cin >> m >> n; for(int i = 1 ; i <= m ; i++) { cin >> a[i]; } init(); while(n--) { int x , y; cin >> x >> y; cout << query(x , y) << ' '; } return 0; } ```
by PYM_cn @ 2023-10-04 16:43:05


|