专栏文章

题解:P14503 [NCPC 2025] Instagraph

P14503题解参与者 1已保存评论 0

文章操作

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

当前评论
0 条
当前快照
1 份
快照标识符
@min4mqey
此快照首次捕获于
2025/12/01 20:29
3 个月前
此快照最后确认于
2025/12/01 20:29
3 个月前
查看原文

思路

考虑处理每个人的入度。
aa 关注 bb 时,bb 的入度要增加 11
当之后 bb 关注 aa 后,即两人互关时,为了让 aa 出度为 00,要把 bb 的贡献从 aa 中删除,即将 aa 的入度减少 11

代码

CPP
#include<bits/stdc++.h>
#define endl "\n"
#define int long long
#define f(n) for(int i=1;i<=n;i++)
#define IOS cin.tie(0),cout.tie(0),ios::sync_with_stdio(0)
using namespace std;
int n,m,x,y,r[200005],maxn=-1,maxi;
map<int,map<int,int>>e;//常数巨大让我拿下当前最劣解 
signed main(){
	IOS;cin>>n>>m;
	f(m){
		cin>>x>>y;
		if(e[y][x])r[x]--;//y之前关注过x,现在两人互关,去除y对x的贡献 
		else r[y]++;//x对y贡献一个关注 
		e[x][y]=1;//记录x关注过y 
	}
	f(n)if(r[i]>maxn)maxn=r[i],maxi=i;//找出最大名人中心性
	cout<<maxi<<" "<<maxn;
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...