错乱瞎写

1. 线性方程组

省流:初等行变换化为一个上三角,然后瞬间出解

inline bool z(const double& x){return abs(x)<eps;}
int Gauss() // O(n^3)
{
int c, r;
for (c=1, r=1; c<=n; c++)
{
int m = r;
for (int i=r; i<=n; i++)
if (abs(a[i][c]) > abs(a[m][c])) m = i;
if (z(a[m][c])) continue;
for (int i=c; i<=n+1; i++) swap(a[m][i],a[r][i]);
for (int i=n+1; i>=c; i--) a[r][i] /= a[r][c];
for (int i=r+1; i<=n; i++)
if (!z(a[i][c]))
for (int j=n+1; j>=c; j--) a[i][j] -= a[r][j] * a[i][c];
r++;
}
for (int i=n; i>=0; i--) //回代
for (int j=i+1; j<=n; j++) a[i][n+1] -= a[i][j] * a[j][n+1];
if (r <= n)
{
for (int i=r; i<=n; i++)
if (!z(a[i][n+1])) return -1;
return 0;
} return 1;
}

2. 球形空间产生器sphere

\((r_1,r_2,\cdots,r_n)\)

\[\forall i:\sum (r_i-x_{k,i})^2=R
\]
\[\forall i:\sum r_i^2-2\sum r_ix_{k,i}+\sum x_{k,i}^2=R
\]
\[\forall i:2\sum r_ix_{k,i}=\sum x_{k,i}^2-c
\]
\[\sum 2(x_{p,i}-x_{q,i})r_i = \sum (x_{p,i}^2-x_{q,i}^2)
\]

3. 臭气弹

两种思路:

第一种:暴算

设一个到达 \(u\) 点的概率 \(dp_u\),由于全概率公式

\[\boxed{\mathbb P(A) = \sum \mathbb P(B_i)\mathbb P(A|B_i)}
\]

所以

\[dp_u=\sum_{v\to u}\dfrac{1-P/Q}{\deg v}\cdot dp_v
\]

Gauss 消元解出来即可 .

特别的,点 \(1\) 还可以从天而降(概率为 \(1\)),所以 \(dp_1\gets dp_1+1\) .

于是答案是 \(\dfrac QP dp_u\) 或者下面那个带 \(\sum\) 的做法 = =

第二种:期望

令 \(dp_u\) 表示到达 \(u\) 点的期望次数,这里可以拆点(炸 / 不炸)也可以直接搞

\(dp\) 随便求(高斯消元解 dp),然后每个点的概率就是

\[\mathbb P(u)=\dfrac{dp_u}{\sum dp_i}
\]

eps 要开到 \(10^{-9}\),要不然精度不够)

4. 开关问题

也是两种思路:

第一种是列出一个同余 \(2\) 的线性方程组,然后发现初等行变换依然成立;

第二种是列出一个 xor 线性方程组,初等行变换全部改成 xor 消;

不管哪一种,最后找出自由元数量 \(r\),\(2^r\) 就是答案 .

Gauss 消元法的更多相关文章

  1. 【Java例题】4.3 3. 使用Gauss消元法求解n元一次方程组的根,

    3. 使用Gauss消元法求解n元一次方程组的根,举例,三元一次方程组:0.729x1+0.81x2+0.9x3=0.6867x1+x2+x3=0.83381.331x1+1.21x2+1.1x3=1 ...

  2. [bzoj1770][Usaco2009 Nov]lights 燈——Gauss消元法

    题意 给定一个无向图,初始状态所有点均为黑,如果更改一个点,那么它和与它相邻的点全部会被更改.一个点被更改当它的颜色与之前相反. 题解 第一道Gauss消元题.所谓gauss消元,就是使用初等行列式变 ...

  3. C# 列主元素(Gauss)消去法 计算一元多次方程组

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. C# 顺序高斯(Gauss)消去法计算一元多次方程组

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. Function Set in OPEN CASCADE

    Function Set in OPEN CASCADE eryar@163.com Abstract. The common math algorithms library provides a C ...

  6. OpenCASCADE Interpolation - Lagrange

    OpenCASCADE Interpolation - Lagrange eryar@163.com Abstract. Power basis polynomial is the most simp ...

  7. FORTRAN程序设计权威指南

    <FORTRAN程序设计权威指南> 基本信息 作者: 白海波    出版社:机械工业出版社 ISBN:9787111421146 上架时间:2013-7-23 出版日期:2013 年7月 ...

  8. OpenCASCADE 3 Planes Intersection

    OpenCASCADE 3 Planes Intersection eryar@163.com Abstract. OpenCASCADE provides the algorithm to sear ...

  9. Wannafly Camp 2020 Day 1D 生成树 - 矩阵树定理,高斯消元

    给出两幅 \(n(\leq 400)\) 个点的无向图 \(G_1 ,G_2\),对于 \(G_1\) 的每一颗生成树,它的权值定义为有多少条边在 \(G_2\) 中出现.求 \(G_1\) 所有生成 ...

随机推荐

  1. Docker容器(container)详解 (转载自http://c.biancheng.net/view/3150.html)

  2. python工具--获取盛科交换机端口模块类型,波长,传输距离等信息

    交换机端口模块信息对应的OID节点为各厂商私有节点,获取其他厂商信息需要把OID进行替换 1 #! /usr/bin/env python 2 #-*-coding:utf-8-*- 3 import ...

  3. Android.mk编译App源码

    在Andriod源码环境编译APP主要考虑如何引入第三方jar包和arr包的问题,初次尝试,步步是坑,这里给出一个模板: LOCAL_PATH := $(call my-dir) include $( ...

  4. 自动装箱与自动拆箱——JavaSE基础

    自动装箱与自动拆箱 自动装箱与拆箱就是编译器蜜糖(Compiler Sugar) Integer a = 234; // 自动装箱,实际上是Integer a = Integer.valueOF(23 ...

  5. React简单教程-3.1-样式之使用 tailwindcss

    前言 本文是作为一个额外内容,主要介绍 tailwindcss 的用法 tailwindcss 是一个功能类优先的 CSS 框架,我在以前的文章里有描述为什么使用功能类优先:为什么我在 css 里使用 ...

  6. mac M1 php扩展 xlswriter 编译安装爬坑记录

    电脑配置 MacBook Pro(14英寸,2021年) 系统版本 macOS Monterey 12.4 芯片 Apple M1 Pro PHP环境 MAMP Pro Version 6.6.1 ( ...

  7. Markdown常见基本语法

    标题 -方式一:使用警号 几个警号就是几级标题,eg: # 一级标题 -方式二: 使用快捷键 ctrl+数字 几级标题就选其对应的数字, eg: ctrl+2(二级标题) 子标题 -方式一: 使用星号 ...

  8. dotnet 在 linux 上构建问题(RID 的问题)

    个人理解 一方面 /etc/os-release 中定义的的 ID VERSION_ID 是会与源代码中定义 RID 的相对应,如果不对应,就会报错 The specified RuntimeIden ...

  9. 论文解读(SR-GNN)《Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data》

    论文信息 论文标题:Shift-Robust GNNs: Overcoming the Limitations of Localized Graph Training Data论文作者:Qi Zhu, ...

  10. 使用C++的ORM框架QxORM

    QxORM中,我们用的最多的无非是这两点 官方表述是这样的: 持久性: 支持最常见的数据库,如 SQLite.MySQL.PostgreSQL.Oracle.MS SQL Server.MongoDB ...