[SDOI2006] 二进制方程
随机跳题跳的 /jk。
首先有个比较显然的想法就是先把变量的位置先都填一下(比如填个问号)然后看看匹配的关系,然后就是要求弄出来的两个串逐位相等,那么你会发现会有一些关系:数字和数字匹配,变量的一位要等于某个数,两个变量的某位相等。第一个显然是无用的,我们把后面两个考虑一下并查集并一下,你再加一个 0/1 的点,然后看一下连通块个数差不多就行了,每个块独立,然后如果连上了0/1就1种,否则2种,然后乘法原理一下即可。
随机跳题跳的 /jk。
首先有个比较显然的想法就是先把变量的位置先都填一下(比如填个问号)然后看看匹配的关系,然后就是要求弄出来的两个串逐位相等,那么你会发现会有一些关系:数字和数字匹配,变量的一位要等于某个数,两个变量的某位相等。第一个显然是无用的,我们把后面两个考虑一下并查集并一下,你再加一个 0/1 的点,然后看一下连通块个数差不多就行了,每个块独立,然后如果连上了0/1就1种,否则2种,然后乘法原理一下即可。