专栏文章
题解:P14503 [NCPC 2025] Instagraph
P14503题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @min4mqey
- 此快照首次捕获于
- 2025/12/01 20:29 3 个月前
- 此快照最后确认于
- 2025/12/01 20:29 3 个月前
思路
考虑处理每个人的入度。
当 关注 时, 的入度要增加 。
当之后 关注 后,即两人互关时,为了让 出度为 ,要把 的贡献从 中删除,即将 的入度减少 。
代码
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 条评论,欢迎与作者交流。
正在加载评论...