尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

P11529 [THUPC 2025 初赛] 辞甲猾扎

P11529 [THUPC 2025 初赛] 辞甲猾扎
📅 发布时间:2026/6/18 10:08:33

想了两年半砸贪心。

思路

设与黑点相邻,且不为黑点的点集为 \(S\)。

不难发现答案上界是 \(|S|\)。
如果对于两个点 \(i,j \in S\),存在 \((u,i)\) 和 \((u,j)\),那么我们有可能通过选择 \(u\) 作为白点来优化答案。

实际我们要做的工作是使得 \(\forall i \in S\),\(i\) 为白点或者与一个白点相邻。

于是,我们在树上先删去所有黑点,再删去所有不属于 \(S\) 且与 \(S\) 中的点不相邻的点。
操作完后整个图变成了森林,我们要在这个森林上对 \(S\) 做类似最小支配集的东西。

考虑我们怎么对一个树做最小支配集。从叶子向上贪心,如果一个点 \(u\) 没有被支配且没在支配集中,那么将 \(fa_u\) 放入支配集中,这样可以使得 \(fa_{fa_u}\) 也被支配那么答案一定不劣。

我们在森林上做上面的过程就可以了,只不过条件变为只要 \(S\) 被支配即可。

代码

const int N = 1e6+10;
int n,m,ans;
struct{int to,nex;
}edge[N];
int head[N],edge_num;
inline void add(int x,int y){edge[++edge_num].to = y;edge[edge_num].nex = head[x];head[x] = edge_num;
}
struct Edge{int u,v;
}ed[N];
int B[N],W[N];
int is_dfs[N],vis[N],in_st[N],fa[N];
inline void dfs(int now,int fu){is_dfs[now] = 1;fa[now] = fu;for(int i=head[now];i;i=edge[i].nex){int tto = edge[i].to;if(tto==fu) continue;dfs(tto,now);}if(!vis[now] && W[now]){if(!in_st[fa[now]]){in_st[fa[now]] = 1;++ans;}vis[now] = 1;vis[fa[now]] = 1;vis[fa[fa[now]]] = 1;}
}
int main(){// freopen("in.in","r",stdin);// freopen("out.out","w",stdout);read(n,m);for(int i=1,x;i<=m;++i){read(x);B[x] = 1;}for(int i=1,u,v;i<n;++i){read(u,v);if(B[u] && !B[v]) W[v] = 1;if(B[v] && !B[u]) W[u] = 1;if(B[u] || B[v]) continue;ed[i] = {u,v};}for(int i=1;i<n;++i){if(W[ed[i].u] || W[ed[i].v]){add(ed[i].u,ed[i].v);add(ed[i].v,ed[i].u);}}for(int i=1;i<=n;++i){if(!is_dfs[i] && W[i]){dfs(i,i);}}printf("%d",ans);fclose(stdin);fclose(stdout);return 0;
}

相关新闻

  • Sunny Pro 网络验证- 仅需一键,即可为您的exe添加高强度防破加密!
  • 一条mysql数据库更新语句
  • 浅谈递归入门(1) - 指南

最新新闻

  • 阿甘|张家界纯玩领队,8年只做一件事:带你好好玩张家界 - 资讯焦点
  • React Page项目结构解析:Facebook官方推荐的React项目组织方式
  • 2026年 310S不锈钢厂家/源头供应商推荐榜:耐高温耐腐蚀性能解析与实力品牌精选 - 企业推荐官【官方】
  • noble-hashes在区块链开发中的应用:以太坊与加密货币场景实践
  • 2026年淮南职业技术学校招生报名全攻略:42个专业任你选,总有一个适合你 - 我叫小周
  • 上海本地地下室防水施工公司权威口碑排名参考 - 热点速览

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号