首页 > 其他分享 >[AGC006F] Blackout

[AGC006F] Blackout

时间:2024-12-04 20:11:58浏览次数:4  
标签:每个 rvert AGC006F times lvert 集合 点连边 Blackout

前言

米奇妙妙题, 确实很好

算法

那么接下来就自己推吧

首先, 一个做法是对于 \((x, y)\) , 将 \(x \to y\) 连边, 这样问题转化成:

如果存在 \(x \to y\) 和 \(y \to z\) 那么连 \(x \to z\) , 求最终会有多少条边

这个形式好像就更符合中国宝宝的体质, 那么我们考虑解决

猜测需要在模 \(3\) 意义下建图, 那么以下的阐述都以一个连通块来处理, 最终的答案合并一下就可以

将原图染色, 那么就可以造出一个三集合 \(X, Y, Z\) , 其中每个集合的点都向另一个集合的至少一个点连边, 这种情况下, 感性理解, 最后 \(X\) 每个点向 \(Y\) 每个点连边, \(Y\) 每个点向 \(X\) 每个点连边, \(Z\) 每个点向 \(X\) 每个点连边, 集合内部没有边, 那么答案即为 \(\lvert X \rvert \times \lvert Y \rvert + \lvert X \rvert \times \lvert Z \rvert + \lvert Y \rvert \times \lvert Z \rvert\)

但是当三集合不存在, 也就是原图必然出现了自环或二元环, 怎么办?

这种情况下, 最后连满了还有自环, 一共有点数的平方的答案

还有一种情况, 集合只染成了两个, 那没得更新, 直接处理即可

代码

这个题到目前, 没有找到一种思路自然的做法, 那我就不写代码了, 反正也做不出来

其实是懒

那就后补

总结

对于这种特殊类型的题, 在模数意义下建图是一个常用的 \(\rm{trick}\) , 分类讨论即可

标签:每个,rvert,AGC006F,times,lvert,集合,点连边,Blackout
From: https://www.cnblogs.com/YzaCsp/p/18587083

相关文章

  • [题解]AT_abc264_e [ABC264E] Blackout 2
    思路一道很经典的题,运用了一种叫「时光倒流」的技巧。「时光倒流」本质上就是将所有删边(或删点)的操作,通过倒序循环求值的方式转化为加边(或加点)。「时光倒流」具体实现通常伴随着并查集出现,维护一个连通块的某种性质。首先,我们需要将所有从始至终没有删过的边加入并查集。在这......
  • 中考英语首字母快速突破007-2021上海金山英语二模-A Candlelit Birthday Dinner Durin
    PDF格式公众号回复关键字:ZKSZM007原文​Onmyfather’sbirthday,myparentsandIwentoutfordinner.Therestaurantwasbrightlylitandverynoisy,withlotsofdiners.Waitersmoveb(71)betweenthetables.​Wehadjustorderedourmeal......
  • AGC006F Blackout
    AGC006FBlackout如果一个格子\((x,y)\)是黑色的,那么构建边\(x\rightarrowy\),接下来对于每个弱连通块分类讨论:图中有自环则弱连通块必然形成一个完全图证明:从自环开始归纳,将自环视为一个点数为\(1\)的完全图,接下来扩展完全图时,分类讨论:从完全图中一个点\(u\),存......