题解:P8456 「SWTR-8」地地铁铁

news/2026/1/21 18:17:41/文章来源:https://www.cnblogs.com/dyc2022/p/19513433

更差的阅读体验


圆方树入门题。听讲了四次才会做。

假设 D\(0\)d\(1\)。先把问题转化为求不合法的方案数,也就是路径只经过一种边权的方案数。

先考虑起点和终点在同一个点双的情况。假设当前点双的大小为 \(sz\)。如果这个点双只有一种颜色,那么显然在这个点双内部怎么走都是不合法的路径,方案数为 \(sz \choose 2\)

那么我们考虑如果点双内部含有两种边,那么是否每个点对都合法呢?好像也不是。如图,这个点双内部 \((1, 2)\) 点对也不存在同色路径。

所以经过手玩我们会发现,如果点双内只有两个点同时具有 \(0\)\(1\) 的出边,那么这两个点之间也不存在两种边权的路径。原因是你要有两种边权的路径,就必须要有边权 \(0 \to 1\) 或者 \(1 \to 0\) 的切换的地方,但是这两个点之间没有切换的地方;其他点对 \((u, v)\) 一定可以通过 \(u\) 走到这个切换的点,然后再由这个点走到 \(v\),来实现路径上有两种颜色。

所以对于一个大小为 \(sz\) 的点双,如果是同色的那么不合法路径数量为 \(sz \choose 2\),否则如果只有两个点同时有 \(01\) 出边,不合法路径数量为 \(1\),否则为 \(0\)


接下来考虑起终点不在同一个点双的情况,对于这种情况我们在圆方树上分析。

对于一个方点,如果内部只有 \(0\) 边我们称之为白点,内部只有 \(1\) 边我们称之为黑点,如果两种都有我们称之为灰点。

那么如果一条路径上只有白点或者只有黑点,那就已经寄了,因为不管怎么走都走不到其他颜色的边,因此一定是不合法的路径。

很显然一条路径上同时有白点和黑点的话,一定是合法的。

接下来考虑加入灰点怎么办。如果这个灰点内部有超过 \(2\) 个有 \(01\) 出边的点,那一定是合法的,因为一定存在一条进入这个方点,在内部行走,再走出这个方点,经过两种颜色边的路径。

那如果有像上图的情况怎么办?假设灰点中,进入点双的点和出点双的点之间有若干条含有两种颜色的路径,但是每条路径只有一种颜色,那么我们可以根据我们方点外我们经过了哪种颜色,在这个灰点中选择另一种颜色,就可以了。

所以,对于起终点在不同点双的情况,答案就是路径上只有白点或只有黑点的路径数量。

所以我们就对白点和黑点分别求一个极大的连通块,假设某个连通块含有的圆点数量为 \(cnt\),那么不合法路径数量就是 \(cnt \choose 2\)


再说一下怎么求一条边属于哪个点双。如果直接枚举出边会被菊花卡成 \(O(n^2)\)

我们在圆方树上随便取一个根,求出每个点的父亲 \(f_u\)

对于原图一条边 \((u, v)\),要么 \(u\)\(v\) 是兄弟,要么是祖孙关系。而夹在这两个点中间的方点就是它们属于的点双。

所以如果 \(u,v\) 是兄弟,那么就属于 \(f_u\) 所代表的点双;如果 \(u\)\(v\) 的爷爷,那么就属于 \(f_v\) 所代表的点双。


最后拿总方案数 \(n \choose 2\) 扣掉不合法方案数就可以了,复杂度 \(O(n + m)\)

#include<bits/stdc++.h>
#define endl '\n'
#define N 1000006
using namespace std;
int _,n,m,tp,dfs_clock,dn;
int dfn[N],tf[N],low[N],stk[N],col[N],fa[N],sz[N],cnt[N][2],c[N],vis[N];
long long ans;
vector<int> tG[N],bcc[N]; vector<pair<int,int> > G[N];
inline void add(int u,int v) {tG[u].push_back(v),tG[v].push_back(u);}
inline long long binom2(int x) {return 1ll*x*(x-1)/2;}
inline int find(int k) {return fa[k]==k?k:fa[k]=find(fa[k]);}
inline void merge(int u,int v) {u=find(u),v=find(v); if(u^v)fa[v]=u,sz[u]+=sz[v];}
inline int get(int u,int v)
{if(tf[u]==tf[v])return tf[u];else if(tf[tf[u]]==v)return tf[u];else if(tf[tf[v]]==u)return tf[v];assert(0);
}
void tarjan(int u)
{dfn[u]=low[u]=++dfs_clock,stk[++tp]=u;for(auto vv:G[u])if(!dfn[vv.first]){int v=vv.first;tarjan(v),low[u]=min(low[u],low[v]);if(low[v]==dfn[u]){dn++;for(int x=-1;x!=v;tp--)x=stk[tp],add(x,dn),bcc[dn].push_back(x);add(u,dn),bcc[dn].push_back(u);}} else low[u]=min(low[u],dfn[vv.first]);
}
void dfs(int u) {for(int v:tG[u])if(v!=tf[u])tf[v]=u,dfs(v);}
void solve(int o)
{for(int i=1;i<=dn;i++)fa[i]=i,sz[i]=0;for(int i=1;i<=n;i++)sz[i]=1;for(int i=n+1;i<=dn;i++)if(col[i]==o)for(int j:tG[i])merge(i,j);for(int i=1;i<=dn;i++)if(find(i)==i)ans-=binom2(sz[i]);
}
main()
{scanf("%d%d%d",&_,&n,&m),dn=n;for(int i=1,u,v;i<=m;i++){char ch[3]; scanf("%d%d%s",&u,&v,ch+1);G[u].push_back({v,ch[1]=='d'});G[v].push_back({u,ch[1]=='d'});}ans=binom2(n),tarjan(1),dfs(1);for(int u=1;u<=n;u++)for(auto v:G[u])cnt[get(u,v.first)][v.second]++;for(int i=n+1;i<=dn;i++)if(!cnt[i][1])col[i]=0;else if(!cnt[i][0])col[i]=1; else col[i]=2;memset(cnt,0,sizeof(cnt));for(int u=1,b;u<=n;u++){for(auto v:G[u])cnt[get(u,v.first)][v.second]++;for(auto v:G[u])if(!vis[b=get(u,v.first)]&&cnt[b][0]&&cnt[b][1])c[b]++,vis[b]=1;for(auto v:G[u]){vis[b=get(u,v.first)]=0;for(int i=0;i<2;i++)cnt[b][i]=0;}}for(int i=n+1;i<=dn;i++)if(c[i]==2)ans--;solve(0),solve(1);printf("%lld\n",ans);return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1195836.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java企业借力JBoltAI,驶向智能问数新蓝海

html在数字化转型的浪潮下&#xff0c;AI应用开发已成为Java企业提升竞争力的关键。然而&#xff0c;许多企业面临技术储备不足、AI应用开发思路不清晰等困境。如何将AI技术与现有业务融合&#xff0c;实现智能化升级&#xff0c;成为Java企业亟待解决的问题。特别是对于数据查…

国产芯片封装设计软件哪个好?一款支持AI自动化的国产软件评测与推荐

在当前全球半导体产业链加速重构的背景下,电子设计自动化(EDA)工具的自主可控已成为保障国家科技安全与产业稳定的关键环节。上海弘快科技有限公司,作为深耕电子设计自动化(EDA)软件开发领域的高新技术企业,凭借…

2026 年假发定制品牌哪家好?工艺特色 适配场景与决策参考框架指南

当下,假发定制的需求正从 “弥补脱发困扰” 向 “个性化造型升级”“健康舒适佩戴” 转变。数据显示,2025-2026 年国内假发定制市场中,注重材质天然性、造型专属感、场景适配性的需求占比分别达到 68%、59%、45%,线…

深入解析:LangGraph长短期记忆实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Naver收不到验证码?全面分析原因

对于很多海外用户尤其是跨境营销、内容发布者和数据抓取从业者来说&#xff0c;注册/登录/实名认证Naver时收不到短信验证码这一问题几乎是“绕不过去的坎”。这一点不仅影响账号创建&#xff0c;还会影响后续的营销投放、内容发布或数据运营。这篇文章我们将一步步分析问题根源…

tomcat和servlet简单demo

tomcat和servlet简单demotomcat 结构 javac -encoding utf-8 -cp lib/servlet-api.jar tcServletTest.java 将java文件编译成class,将java文件和外部jar包路径(相对或者绝对都行)融合到编译后的class文件中web.xml基…

深圳昊客网络|谷歌/Google独立站优化推广代运营服务公司:排名前十机构哪好点?

深圳昊客网络|谷歌/Google独立站优化推广代运营服务公司:排名前十机构哪好点? 2026年,外贸出海已进入“效果为王”的深水区。 曾经靠一个独立站、几条广告就能爆单的时代一去不返——如今的谷歌生态,算法频繁迭代…

果博东方总公司客服l66873-99996电微物联网前沿技术

连接万物的未来:物联网前沿技术全景透视 引言:物联网的进化之路 物联网(IoT)已从概念阶段迈入规模化应用时代。IDC数据显示,2025年全球物联网连接设备数量突破500亿台,中国物联网市场规模达3.2万亿元。这一技术革…

1337x打不开怎么解决?2026解决方案

1337x作为目前仍然活跃的 Torrent 资源索引站之一&#xff0c;在很多地区依然有大量用户。但进入 2026 年&#xff0c;越来越多人发现一个现实问题&#xff1a;1337x 不是“偶尔打不开”&#xff0c;而是“经常性无法访问”。 页面直接被拦截、DNS 被劫持、加载极慢&#xff0…

2026 年广东东鸿海绵厂家推荐:东冠高分子 —— 一站式记忆棉、木浆棉、慢回弹海绵解决方案领航者

在广东海绵制造行业中,东鸿海绵相关生产企业凭借扎实的技术实力与丰富的产品体系备受市场青睐,而东莞市东冠高分子材料有限公司(简称 “东冠高分子”)作为其中的标杆企业,以齐全的产品矩阵、强大的生产能力、完善…

2026年户外/环保/防腐木/免冲水/移动厕所厂家推荐:重庆荣东科技全品类解决方案

在公共卫生设施领域,移动厕所的研发与应用已成为衡量城市文明程度的重要指标。据行业统计,2025年国内移动厕所市场规模已突破120亿元,年复合增长率达15.3%,其中户外厕所、环保厕所、防腐木移动厕所等细分品类占比超…

DeepSeek提出mHC,改造何恺明残差连接

DeepSeek提出mHC,改造何恺明残差连接大模型实验室Lab4AI论文阅读 ✔️研究背景 深度学习中,残差连接 是 ResNet、Transformer 等架构(含 LLM)的基础,其恒等映射特性保障了大规模训练的稳定性与效率。Hyper-Connec…

Zephyr学习之PWM方式驱动LED灯记录

前言 继Zephyr学习之点亮LED文章。本次使用的示例工程blinky_pwm驱动的引脚为PF9 工程复制并打开项目 参考提供的设备树文件的PWM节点编写规则 找到我们这边使用的pf9对应的引脚定义 编写设备树覆盖配置文件 / {// 选择系统控制台和 shell UART 设备chosen {// 指定系统控制…

三菱PLC pid程序 三菱触摸屏程序和三菱PLC程序,程序都有注释,用的三菱FX3U系列pl...

三菱PLC pid程序 三菱触摸屏程序和三菱PLC程序&#xff0c;程序都有注释&#xff0c;用的三菱FX3U系列plc&#xff0c;程序简单仅供入门学习&#xff0c;是入门级三菱PLC电气爱好从业人员学习模板。最近在工作室翻出个老项目&#xff0c;正好是三菱FX3U搞温度控制的。程序虽然…

果博东方有限公司l66873-99996电微客服电话通信物联网技术

你问的这个问题非常到位,直接抓住了区块链和物联网在供应链里最核心的协同价值!它们结合后,通过‌物联网实时采集物理世界数据,再由区块链确保数据不可篡改、全程可追溯‌,真正实现了端到端的透明化。下面我为你梳…

2026年可移动式/污泥脱水/车载/撬装/浓缩一体卧螺离心机推荐:丽水市瑞辰环保科技多场景解决方案

在固液分离设备领域,丽水市瑞辰环保科技有限公司凭借深厚的技术积累与持续创新,已成为****企业。公司深耕环保科技领域多年,专注于可移动式卧螺离心机、污泥脱水卧螺离心机、自来水厂污泥脱水卧螺离心机等核心产品的…

想在合肥找到能出效果的短视频服务商?三十六行网络科技助你轻松破局

在如今的数字营销时代,视频号凭借私域流量沉淀、社交裂变传播的独特优势,已经成为合肥企业抢占本地市场的核心阵地。但不少企业在视频号运营过程中却屡屡碰壁:找不到懂本地市场的靠谱服务商、账号运营数据惨淡、优质…

2026年GEO优化哪家受欢迎?TOP榜客户评价与实战效果综合测评

在生成式AI重构流量分配机制的2026年,GEO优化(生成式引擎优化)已成为企业增长的核心引擎。面对"GEO优化哪家受欢迎"、"哪家服务商口碑更好"以及"如何通过真实评价避坑"的普遍关切,单…

2026年马尔济斯/约克夏/西高地/可卡布/马尔泰/伯恩山宠物狗推荐:上海一站式宠物4S店精选

在宠物市场中,马尔济斯、约克夏、西高地、可卡布、马尔泰、伯恩山等品种的宠物狗以其独特的魅力与温顺的性格,成为了众多宠物爱好者的心头好。对于追求高品质宠物生活与专业服务的消费者而言,选择一家信誉良好、服务…

2026陕西建筑加固厂家排名:3家头部企业实测,适配不同场景需求

2026陕西建筑加固厂家排名:3家头部企业实测,适配不同场景需求随着陕西建筑行业提质升级及老旧建筑改造、基础设施加固需求攀升,建筑加固工程的质量与合规性愈发关键。2026年,结合《陕西省特种工程资质管理新政》要…