错乱瞎写

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. 121_Power Query之R.Execute的read.xlsx&ODBC

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 一.问题 pq在用 Excel.Workbook 读取一些Excel早期版本(.xls后缀)的文件时候,报错:DataFo ...

  2. SQL表的创建

    ​  一,创建表 1.使用鼠标创建表 1,进入SQL进行连接 ​编辑 2,在左边会有一个对象资源管理器,右键数据库,在弹出的窗口中选择新建数据库 ​编辑 3,给这个包取个名字,在这个界面可以给这个表选 ...

  3. 【Azure 存储服务】Java Azure Storage SDK V12使用Endpoint连接Blob Service遇见 The Azure Storage endpoint url is malformed

    问题描述 使用Azure Storage Account的共享访问签名(Share Access Signature) 生成的终结点,连接时遇见  The Azure Storage endpoint ...

  4. [XJOI3529] 左右

    题目链接:左右 Description 给你一个s数组,一个t数组,你可以对s数组执行以下两种操作 L 操作:每个数等于其左边的数加上自己 R 操作:每个数等于其右边的数加上自己 第一个数的左边是最后 ...

  5. mybatis 转义符号

    < <= > >= & ' " < <= > >= & &apos; "

  6. 『忘了再学』Shell基础 — 24、Shell正则表达式的使用

    目录 1.正则表达式说明 2.基础正则表达式 3.练习 (1)准备工作 (2)*练习 (3).练习 (4)^和$练习 (5)[]练习 (6)[^]练习 (7)\{n\}练习 (8)\{n,\}练习 ( ...

  7. 软件构造Lab1实验要点总结

    本实验通过解决三个问题,训练了基本的Java编程技能,并给出了Eclipse+Jdk+Junit的配置方案,以及对使用git进行项目管理的方式. 1.因此,本实验的第一个要点是配置环境.具体配置环境过 ...

  8. Spring IOC源码研究笔记(2)——ApplicationContext系列

    1. Spring IOC源码研究笔记(2)--ApplicationContext系列 1.1. 继承关系 非web环境下,一般来说常用的就两类ApplicationContext: 配置形式为XM ...

  9. Servlet的本质

    简介:Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. 功能:使 ...

  10. JavaScript String -> Number

    五种将String类型转化为Number类型的方法:   方法一:使用一元运算符:eg:字符串'5' +'5' -> 5;  5+null -> 5(null转化为0);  '5'+nul ...