ZY_202301005129 @ 2024-10-14 20:44:42
如题,下面是我的代码
// P1440 求m区间内的最小值.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <bits/stdc++.h>
using namespace std;
int n, m;
struct d
{
int x;
int y;
};
d a[2000001];
int c[2000001];
int main()
{
cin >> n >> m;
for (int i = 1;i <= n;i++)
cin >> a[i].x, a[i].y = i;
deque<d> b;
for (int i = 1;i <=n;i++)
{
while (!b.empty() && b.back().x >= a[i].x)
b.pop_back();
b.push_back(a[i]);
if(i>=m)
while (!b.empty() && i - b.front().y >= m)
b.pop_front();
c[i] = b.front().x;
}
for (int i = 1;i <= n;i++)
if (i == 1)
cout << 0 << '\n';
else cout << c[i - 1] << '\n';
}
// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单
// 入门使用技巧:
// 1. 使用解决方案资源管理器窗口添加/管理文件
// 2. 使用团队资源管理器窗口连接到源代码管理
// 3. 使用输出窗口查看生成输出和其他消息
// 4. 使用错误列表窗口查看错误
// 5. 转到“项目”>“添加新项”以创建新的代码文件,或转到“项目”>“添加现有项”以将现有代码文件添加到项目
// 6. 将来,若要再次打开此项目,请转到“文件”>“打开”>“项目”并选择 .sln 文件
by Mr_Terminator @ 2024-10-14 20:52:07
@ZY_202301005129 讨论区题解很好玩对吧
by ZY_202301005129 @ 2024-10-14 20:58:48
@Mr_Terminator 一个毫无注释的代码在你眼里是题解对吗
by see_htdls @ 2024-11-06 21:55:34
一眼VC++