专栏文章
题解:AT_agc070_b [AGC070B] Odd Namori
AT_agc070_b题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @min9t46y
- 此快照首次捕获于
- 2025/12/01 22:54 3 个月前
- 此快照最后确认于
- 2025/12/01 22:54 3 个月前
安慰自己不要太烦
没有你的我只是不习惯
容斥宇宙题。
考虑题面的三条限制。对于限制一,相当于图是一个内向基环树森林,与长度为 值域为 的序列构成双射,接下来我们称与当前图对应的序列为 。
对于限制二我们容易想到容斥:钦定若干环,奇环的容斥系数为 ,偶环的容斥系数为 。这样一个图如果有一个偶环,那么偶环选或不选之间的系数抵消,贡献是 ;一个图如果没有偶环,那么奇环的系数恰好是 ,很好!
但是我们暴力枚举若干个环再计数太劣了。我们设钦定在环上的点构成的集合为 ,若 ,选出编号最小和次小的点 ,然后交换 和 。
由于交换操作的性质,操作后的图与原图构成双射,而无论是把一个奇环拆成奇环和偶环,还是把两个奇环合并成偶环,容斥系数都恰好 ,所以所有 的钦定方案的贡献的和 。
对于 的方案是好求的,放在序列上相当于钦定 ,答案是 。
考虑有限制三怎么做,我们尝试像上面一样交换 的两个元素构成双射。
还是讨论 ,希望能通过交换构成双射,又因为容斥系数恰好 就能抵消了。
若 上的点在树上构成了 个连通块,选出 连通块的根 中编号最小和次小的点 交换即可。首先由于交换不会改变 ,也就不会改变 构成 连通块的根 这个集合。然后,操作之后显然仍然满足限制三。
所以只需要考虑 在树上构成 个连通块。选出最小的有序对 ,满足 并交换,与上面同理构成双射。
所以 只能构成一条 祖先-后代 链,设深度最浅的点为 ,其儿子为 ,若 ,交换 和 同理能构成双射。此时只考虑 ,再令 为深度第二浅的点,其儿子为 ……
我们可以一直进行下去,直到 ,此时 内部的方案数就是 。其他点的答案是 ,因为 可以选 个数而其他点由于有父亲只能选 个数。
此时我们可以写出一个 的做法了,暴力枚举这条链即可。我们枚举 最深的点 ,发现答案只跟 有关,所以推导一下发现只需要预处理 即可。
时间复杂度 。
我真的忘了
我只剩我一口
在这里 想着你
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...