W
e
l
c
o
m
e
: )

[CSP-S 2022] 星战

link

我为什么会在赛时想图论分块。。。。

什么神仙会想到哈希维护啊

首先手玩一下满足条件的图,只需要满足条件二:所有点出度为 1,条件 1 会自然满足,我们必然可以顺着其出边走下去。

对于操作 2 和 4,我们无法快速维护所有点的出度是否均为 1,所以考虑把入度压成一个字符串,最后我们匹配是否与 111111... 相等。

看到这种大修改,整体判等的操作,hash 不失为一种优秀的方法。

我们给每个点随机一个权值 wi,那么整个串就是 i=1nwi×ini,其中 可以是异或和、正常求和、p 进制下和等。

对于单边修改,暴力即可。

对于修改一个点 x 的所有入边,考虑先预处理出 ax=(y,x)Gwy,我们将上次整体修改 x 到这次操作之间所有关于 x 的操作逆回去,然后减去/加上 ax,这样均摊复杂度 O(m)

那么这题就做完了。。。

code 用的是异或和。

posted @   127_127_127  阅读(186)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示