摘要: 很容易考虑到计算贡献。 > 该问题的关键在于——如何使得钥匙和宝箱的对应关系不算重 > Warning:有这样的二元对应关系,可以考虑一下转化为括号序列! 转化为括号序列之后,发现路径上括号串的对应关系能够预处理出来。 套个虚树和扫描线,就做完了。 ### 代码 ```cpp #include us 阅读全文
posted @ 2023-07-12 21:18 A_zjzj 阅读(10) 评论(0) 推荐(0) 编辑
摘要: - 赛时想了 1.5h 没想出来做法,然后写了个随机化乱搞过了,有点侥幸。 ### 思路 赛时想到: - 答案上界为 $n$。 需要进阶: - 变化超过 $1$ 的数的个数 $\le \lfloor\frac{n}{2}\rfloor$。 - 所以随机一个数,这个数变化不超过 $1$ 的概率 $\g 阅读全文
posted @ 2023-07-12 21:06 A_zjzj 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 需要保持: - 写代码前先仔细考虑一下细节,分类讨论清楚再开始码。 警告: - namespace 里面写了个 n,想调用全局 n 的时候没加 2*冒号。 思路大概就是分类讨论然后计数就完事了。 ### 代码 ```cpp #include using namespace std; using ll 阅读全文
posted @ 2023-07-12 20:26 A_zjzj 阅读(9) 评论(0) 推荐(0) 编辑
摘要: >tarjan 多测的时候 dfn 数组要清空!!! >树剖多测的时候 son 数组要清空!!! > 点双 tarjan 时可用 vector 建边,边双时用 vector 需要无重边 本题直接建圆方树,然后答案就是关键点构成的虚树上非关键原点个数。 ### 代码 ```cpp #include u 阅读全文
posted @ 2023-07-12 18:56 A_zjzj 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 赛时想写 60pts,结果 cxr 似乎少算了一点空间,导致我一直没把空间卡过去QWQ。 当时不会 dfs 求 topo 序,这里讲一下。 枚举所有非访问过的点依次 dfs,每次进行下列操作: - 找出 $v$ 的一个未访问过的入点 $u$,调用 `dfs(u)`; - 找不到 $u$ 的时候,把 阅读全文
posted @ 2023-07-12 13:53 A_zjzj 阅读(20) 评论(0) 推荐(0) 编辑