AcWing 326. XOR和路径

2021-03-17 20:24

阅读:608

标签:swap   next   wap   i++   size   --   code   using   题意   

大型补档计划

题目链接

如果整体来做,发现既有加法,也有整体异或,这样不容易搞。
考虑异或,各个位置互不干扰,按位考虑一下。

枚举每一位 \(k\)
发现如果设 \(f[u]\) 为这一位的期望结果还是不好做。
由于 每个位置只有 0 或者 1 两种操作,不妨设 \(f[u]\)\(u - n\) 这一位路径为 1 的概率,最后对答案的贡献是 \(2 ^ k * f[1]\)

然后一个按照题意的转移:\(f[u] = \frac{1}{deg[u]}(\sum_{w = 0}f[v] + \sum_{w = 1}(1 - f[v]))\),这是一个只涉及加减运算的方程组,就能高斯消元了。

#include 
#include 
#include 
#include 
using namespace std;
const int N = 105, M = 10005;
int n, m, d[N];
int head[N], numE = 0;
double a[N][N];
struct E{
    int next, v, w;
} e[M  fabs(a[t][c]))) t = i;
        for (int i = c; i = c; i--) a[r][i] /= a[r][c];
        for (int i = 1; i = c; j--) a[i][j] -= a[r][j] * a[i][c];
        }
        r++;
    }
}

int main() {
    scanf("%d%d", &n, &m);
    for (int i = 1, u, v, w; i > i & 1) {
                    a[u][n]++;
                    if (v != n) a[u][v]++;
                } else {
                    if (v != n) a[u][v]--;
                }
            }
        }
        gauss();
        ans += (1 

AcWing 326. XOR和路径

标签:swap   next   wap   i++   size   --   code   using   题意   

原文地址:https://www.cnblogs.com/dmoransky/p/12380477.html


评论


亲,登录后才可以留言!