社区讨论

75pts RE求调(壶关)

P9286[ROI 2018] Extraction of radium参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mhj13qps
此快照首次捕获于
2025/11/03 19:00
4 个月前
此快照最后确认于
2025/11/03 19:00
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e7+5;
int n,m,q,a[7005][7005];
int h_max[N],l_max[N],h_max_id[N],l_max_id[N];
void solve()
{
	int x,y,t;
	cin>>x>>y>>t;
	int tmp=a[x][y];
	a[x][y]=t;
	if(t>h_max[x])
	{
		h_max[x]=t;
		h_max_id[x]=y;
	}
	else if(tmp==h_max[x])
	{
		h_max[x]=0;
		for(int i=1;i<=m;i++)
		{
			if(a[x][i]>h_max[x])
			{
				h_max[x]=a[x][i];
				h_max_id[x]=i;
			}
		}
	}
	if(t>l_max[y])	
	{
		l_max[y]=t;
		l_max_id[y]=x;
	}
	else if(tmp==l_max[y])
	{
		l_max[y]=0;
		for(int i=1;i<=n;i++)
		{
			if(a[i][y]>l_max[y])
			{
				l_max[y]=a[i][y];
				l_max_id[y]=i;
			}
		}
	}
	int cnt=0;
	for(int i=1;i<=n;i++)
	{
		if(l_max_id[h_max_id[i]]==i)cnt++;
	}
	cout<<cnt<<"\n";
	return ;
}
signed main()
{
	ios::sync_with_stdio(false);
	cin.tie(0),cout.tie(0);
	cin>>n>>m>>q;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
			if(a[i][j]>h_max[i])
			{
				h_max[i]=a[i][j];
				h_max_id[i]=j;
			}
			if(a[i][j]>l_max[j])
			{
				l_max[j]=a[i][j];
				l_max_id[j]=i;
			}
		}
	}
	while(q--)solve();
	return 0;
}
rt

回复

0 条回复,欢迎继续交流。

正在加载回复...