题目
就是RMQ的题目,只是增加了询问中途修改值得可能性。
但是数量级降到了万级。
思路
直接就是找最小值了。用最朴素的方法都能过。
代码
#include<cstdio>
using namespace std;
const int MAXN=10000+5;
int N,w[MAXN];
int a,b,c;
int main()
{
scanf("%d",&N);
for(int i=1;i<=N;i++) scanf("%d",&w[i]);
scanf("%d",&N);
while(N--)
{
scanf("%d%d%d",&a,&b,&c);
if(a) w[b]=c;
else
{
int ans=1e4;
for(int i=b;i<=c;i++) if(w[i]<ans)
ans=w[i];
printf("%d\n",ans);
}
}
return 0;
}
本文介绍了一个简化版的RMQ(区间最小值查询)问题,并提供了使用朴素方法求解该问题的C++实现代码。该问题允许在查询过程中更新数值。
750

被折叠的 条评论
为什么被折叠?



