LG6965 NEERC2016 Binary Code(Trie,2-SAT)

LG6965 NEERC2016 Binary Code

N01 串每个串至多一位为 ? 问能否(要构造)把 ? 替换成 01 使得没有一个串是别的串的前缀。

CODE

把每个 ? 替换成 01 插入 Trie,然后如果你选了一个 Trie 上的串,那么所有子树里的、祖先路径上的、该点上的其他串的反串(即 0110,没有 ? 就不变)都得选。前缀和建图(如果是一个点上多个串,就把它们当做一条链处理)跑 2-SAT 即可。时间复杂度 Θ(N)

错因:2-SAT 没有考虑反向边(之前打模拟赛的时候模拟费用流也是如此!),大意了。

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