问题求助玄关
  • 板块灌水区
  • 楼主Shadow_T
  • 当前回复7
  • 已保存回复7
  • 发布时间2023/7/23 20:21
  • 上次更新2023/11/3 08:02:11
查看原帖
问题求助玄关
734379
Shadow_T楼主2023/7/23 20:21

萌新在做题的时候写了

dmax[++dpos]=max(dmax[dpos-1],x);

WA 了 0 pts;

但是换成:

dpos++;
dmax[dpos]=max(dmax[dpos-1],x);

就 AC 了,请问有区别吗?

WA记录

AC 记录

还有在这题中我用了这种做法:

#include <bits/stdc++.h>
using namespace std;
map <int,int> mp;
stack<int> s;
priority_queue<int> q; 
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int op,x;
		cin>>op;
		if(op==0)
		{
			cin>>x;
			s.push(x);
			q.push(x);
			mp[x]++; 
		}
		if(op==1&&!s.empty())
		{
			mp[s.top()]--;
			s.pop();
		}
		if(op==2)
		{
			while(mp[q.top()]==0&&!q.empty())
			q.pop();
			if(q.empty()) cout<<0<<"\n";
			else cout<<q.top()<<"\n";
		}
	}
}

理应最坏 O(n2)O(n^2) 跑不过,这里却奇迹跑过了,为什么,是数据水吗?

暴力过题记录

2023/7/23 20:21
加载中...