链接:https://www.nowcoder.com/acm/contest/145/C
一个长度为$2^n$的01串,每次允许相邻两个数字进行与、或、异或操作,最终希望结果是1,问有多少种不同的操作路径。
$f(i,j)$表示01串从$2^n$开始,扫到长度为$2^i$时,01串变为j时的路径数,用一个map来记录状态,然后暴力dp转移到下一层就行。整体复杂度是$O(2^nn)$,可以过。
1 |
|
Keep going
链接:https://www.nowcoder.com/acm/contest/145/C
一个长度为$2^n$的01串,每次允许相邻两个数字进行与、或、异或操作,最终希望结果是1,问有多少种不同的操作路径。
$f(i,j)$表示01串从$2^n$开始,扫到长度为$2^i$时,01串变为j时的路径数,用一个map来记录状态,然后暴力dp转移到下一层就行。整体复杂度是$O(2^nn)$,可以过。
1 | #include <bits/stdc++.h> |