2020牛客暑期多校训练营Binary Vector(线性独立,递推,乘法逆元)

这篇博客介绍了在n维空间中,求取到的线性独立01向量的概率f(n)的递推算法。分析了线性独立的概念,指出每个向量不能通过其他向量的加减得到,并给出f(n)的递推公式。
摘要由CSDN通过智能技术生成

Binary Vector

题目描述

在这里插入图片描述

输入描述:

在这里插入图片描述

输出描述:

在这里插入图片描述

示例1

输入

3
1
2
3

输出

500000004
194473671
861464136

说明

在这里插入图片描述

题目大意

给你一个 n n n,并在 n n n维度里有一些向量,这些向量的每一维都是由 0 , 1 0,1 0,1构成的。现在,每一天都取一个向量,求 n n n天中,取到的所有向量都是线性独立的的概率 f ( n ) f(n) f(n)是多少。
题目要求输出 f ( 1 ) ⊕ f ( 2 ) ⊕ f ( 3 ) . . . ⊕ f ( n ) f(1)\oplus f(2)\oplus f(3)...\oplus f(n) f(1)f(2)f(3)...f(n)的值 m o d   1 e 9 + 7 mod\,1e9+7 mod1e9+7

分析

首先理解下什么叫做线性独立。说白了,就是说任意一个向量都不能通过其他向量的加减得到,那么也就是说,每个向量都不共面。

起初,考虑每个维度最多有多少01向量。很容易可以发现,一维只有向量(0)和(1),二维有(0,0)(0,1)(1,0)(1,1),三维就有8个…… n n n维就有 2 n 2^n 2n个01向量。

考虑选取 i i i个向量
首先,我们从 i = 1 i=1 i=1的简单情况开始考虑。在一根一维的线中,也就是数轴,对于向量 a ⃗ \vec{a} a ,只有 0 ⃗ \vec{0} 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值