缑莺韵 发表于 2025-6-9 19:31:24

CodeForces 随机跳题

随机跳题:CF *1700 ~ *2400.
*CF869C The Intriguing Obsession

*1800。combinatorics,dp,math。
因为两个相同颜色的岛屿之间的距离至少为 \(\color{red}\bf{3}\),所以显然有以下两条:

[*]两个相同颜色的岛屿之间不能连边。
[*]假设一个岛屿颜色为 \(\bf{A}\),那么它不能同时和两个 \(\bf{B}\) 颜色岛屿有连边。
综上,我们的连边方式只能是 \(\bf{A-B}\),\(\bf{B-C}\) 或者 \(\bf{C-A}\)。因为三种情况之间没有交集,所以假设它们的方案数分别为 \(ans_1\),\(ans_2\),\(ans_3\),那么根据乘法原理,答案就是 \(ans_1 \times ans_2 \times ans_3\)。现在考虑如何计算 \(ans\):
以 \(\bf{A-B}\) 举例,我们可以枚举 \(1 \sim \min(a,b)\) 之间的所有 \(j\)。那么,\(j\) 个 \(\bf{A}\) 和 \(j\) 个 \(\bf{B}\) 连接的方案数就是 \(\operatorname{C}_{a}^{j} \times \operatorname{C}_{b}^{j} \times j!\)。注意,\(j=0\) 时恰好有 \(1\) 种方案。那么就有

\
\(ans_2\),\(ans_3\) 同理。
那么就得到了最终答案。预处理一下组合数,假设 \(a \le b \le c\),那么时间复杂度为 \(O(c^2)\),可以通过。提交记录
*CF1931F Chat Screenshots

*1700。combinatorics,dfs and similar,graphs。
刚拿到这道题的第一思路是将所有的 1 都删掉,后来发现假掉了。
你会发现除了开头的这个元素以外,剩下的元素的顺序总是不改变的。那么可以考虑建图:对于所有 \(1 \le i \le k\),\(1 < j < n\),我们将 \(a_{i,j}\) 和 \(a_{i,j+1}\) 之间连边。然后,我们跑一遍拓扑排序。如果成功了,那么说明存在这样一种所有元素的顺序;反之,说明无解。
时间复杂度应该是 \(O(nk)\)。由于 \(\sum nk \le 2 \times 10^5\),所以可以通过。提交记录

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

能氐吨 发表于 2025-10-31 09:38:46

感谢分享,学习下。

仁夹篇 发表于 2025-11-27 14:19:31

热心回复!

蝌棚煌 发表于 2025-12-11 09:19:31

收藏一下   不知道什么时候能用到

睿哝 发表于 2025-12-14 11:33:57

感谢发布原创作品,程序园因你更精彩

郦珠雨 发表于 2025-12-16 06:35:59

分享、互助 让互联网精神温暖你我

湄圳啸 发表于 2025-12-18 11:16:28

这个有用。

扫恢怯 发表于 2026-1-7 17:49:38

谢谢分享,试用一下

替攀浮 发表于 2026-1-11 01:30:47

谢谢分享,辛苦了

凤患更 发表于 2026-1-17 11:57:31

喜欢鼓捣这些软件,现在用得少,谢谢分享!

裸历 发表于 2026-1-17 12:22:29

前排留名,哈哈哈

轨项尺 发表于 2026-1-17 13:37:20

过来提前占个楼

慎气 发表于 2026-1-18 21:19:48

东西不错很实用谢谢分享

荪俗 发表于 2026-1-22 07:12:57

新版吗?好像是停更了吧。

沃盼盼 发表于 2026-1-22 10:54:48

收藏一下   不知道什么时候能用到

系味 发表于 2026-1-23 05:36:53

这个有用。

倘伟 发表于 2026-1-23 08:45:39

这个有用。

归悦可 发表于 2026-1-24 11:48:07

感谢分享

何玲 发表于 2026-1-25 05:41:35

很好很强大我过来先占个楼 待编辑

吟氅 发表于 2026-1-25 09:12:29

用心讨论,共获提升!
页: [1] 2 3
查看完整版本: CodeForces 随机跳题