当前位置: 首页 > news >正文

题解:P14023 [ICPC 2024 Nanjing R] 社交媒体

简化题意

给你 \(k\) 个点以及 \(m\) 条边,其中有 \(n\) 个点已经被选择,问至多再选两个点后最多有多少条边的端点都被选了。

思路

我们可以把边分为 \(3\) 类:

  • 两个端点都被选择了,这时直接加入答案。
  • 有一个端点被选择,我们将另一个端点的贡献 \(+1\),特殊的,自环也算这种情况。
  • 两个端点都没被选择,则先把这条边存起来。

选择可以分为 \(2\) 类:

  • 选择的两个点之间没有联系,或只能选一个点:
    我们将所有点的贡献排序,选最大的两个(被选择的点没有贡献;虽然这两个点之间可能会有边,但是不影响最终答案,可以自己想一下为什么)。
  • 选择两个之间有边的点,这时候枚举每一条边,答案的变化量为 两个端点的贡献之和 \(+\) 这条边的出现次数。
    排序后可以轻松完成。

code

pl 就是贡献数组,pl2 是贡献数组的备份,方便计算的时候直接用,不用再排序一次。
ans 是不选的时候的答案,change 是答案的最大变化量。

点击查看代码
cin >> n >> m >> k;ans = 0 , edge.clear() , cnt = 1;
for(int i=1;i<=k;i++)pl[i] = pl2[i] = 0 , fl[i] = 0;
for(int i=1;i<=n;i++){int x;cin >> x;fl[x] = 1;
}
for(int i=1;i<=m;i++){int u , v;cin >> u >> v;if(fl[u]&&fl[v])ans++;else if(fl[u]||u==v)pl[v]++ , pl2[v]++;else if(fl[v])pl[u]++ , pl2[u]++;else edge.push_back({u,v});
}
sort(pl+1,pl+k+1);
sort(edge.begin(),edge.end());
int change = pl[k] + pl[k-1]; 
for(int i=0;i<edge.size();i++){if(i&&(edge[i].u!=edge[i-1].u||edge[i].v!=edge[i-1].v))cnt = 1;change = max(change,pl2[edge[i].u]+pl2[edge[i].v]+cnt) , cnt++;
}
cout << ans + change << "\n";
http://www.zskr.cn/news/27439.html

相关文章:

  • 2025 全合成润滑油厂家企业推荐榜:进口润滑油/国产润滑油/国内润滑油/半合成润滑油厂家,技术与服务双驱发展
  • 2025年10月微高压氧舱厂家全景解析报告,基于专业测评的技术、性能及市场优势深度分析
  • 2025 年涿州装修公司最新推荐榜,深度解析企业服务能力与市场口碑优势
  • Hive事务管理详解:从ACID原理到UPDATE/DELETE实战 - 实践
  • 详细介绍:【Linux指南】gdb进阶技巧:断点高级玩法与变量跟踪实战
  • 调理neovide之 自定义keymap-不用starter-template的话,直接init.lua中改
  • kettle基本操作4:使用日期字段增量数据同步
  • 2025 年钛棒厂家最新推荐权威榜单:深度解析国内头部厂家国际市场开拓成绩及产品优势钛螺丝/加工件/医用/合金/异形件钛棒厂家推荐
  • 掌门社交电商系统:赋能本地生活的三方共赢新生态
  • 就餐宝微信小程序:重塑企业食堂管理新生态
  • MySQL的三大日志redolog,binlog,undolog
  • 如何解除百度网盘下载限速
  • 分布式专题——33 一台新机器进行Web页面请求的历程 - 指南
  • 开源隐私计算框架SecretFlow | 基于隐语的金融全链路场景介绍和应用实践
  • 2025 最新智能卫浴镜厂家推荐榜单:家装酒店工装优选,除雾语音多功能品牌权威盘点多功能/语音/蓝牙/led/带灯智能卫浴镜厂家推荐
  • 视频汇聚平台EasyCVR在智慧工地无网线无电线监控现场视频解决方案
  • Spring进阶 - SpringMVC达成原理(二)DispatcherServlet处理请求的过程
  • Python实现基于SAO-Transformer-LSTM雪消融优化算法(SAO)优化Transformer-LSTM组合模型进行多变量回归预测的详细项目实例 - 详解
  • 2025年模内注塑标杆厂家:腾达鑫电子,IML|IMD|IMR|IMP 定制新标准
  • zlog3
  • 2025 文审礼品机源头厂家最新推荐榜:奔奔游乐居首,合规资质 + 实力口碑双保障权威排行
  • Python-配置PyCharm使用正确的Python解释器
  • pytorch第66页
  • 有什么指标可以判断手机是否降频
  • 实用指南:Linux内核kallsyms符号压缩与解压机制
  • 从埋点到用户行为分析:ClkLog 如何帮助企业读懂用户
  • 深入解析:领码方案 | 掌控研发管理成熟度:从理论透视到AI驱动的实战进阶
  • 函数的高级
  • C#实现OPC客户端
  • 卷积神经网络的读后感