Believe it

相信不屈不挠的努力,相信战胜死亡的年轻

比赛链接

https://ac.nowcoder.com/acm/contest/15880?&headNav=www

B Binary Vector

题意

随机n个n维01向量,询问这个n个向量线性无关的概率

题解

考虑第一个向量,可以有\(2^n-1\)选择,你不可以选择全为0的向量

然后考虑与第一个向量线性无关的向量,可以有\(2^n-2^1\)个,因为第一个向量的0倍和1倍不能选。

然后考虑与第一个和第二个向量线性无关的向量,可以有\(2^n-2^2\)

于是最终的方案数为\(\begin{aligned}\prod_{i=0}^{n}2^n-2^i\end{aligned}\) , 考虑分母为\(2^{n\cdot n}\) \[ \begin{aligned} &\frac{\begin{aligned}\prod_{i=0}^{n-1}2^n-2^i\end{aligned}}{2^{n\cdot n}} \\&=\begin{aligned}\prod_{i=0}^{n-1}1-\frac{2^i}{2^n}\end{aligned} \\&=\begin{aligned}\prod_{i=1}^{n}1-2^{-i}\end{aligned} \end{aligned} \]

阅读全文 »

核心思想

蒙哥马利运算是一种新的运算,他把乘模简化为对进制数的除法,以及简单加法,这就使得乘模避开了大量的取模试除。

蒙哥马利表示法

例如\(a%mod\)的蒙哥马利表示法为\(f(a) = a\times p\% mod\)\(p\)是一个进制数, 我们储存\(f(a)\)的值,而不是a的值。

复原

于是我们很容易发现,对于蒙哥马利表示法变回普通表示法时只需要乘p对mod的逆元即可。

p的取值

蒙哥马利表示法会找一个进制数使得普通数字转化为蒙哥马利表示法,一般来说这是一个刚好大于模数的进制数。

阅读全文 »

集合论

集合论是群论的基础,群论是建立在集合论上的。

集合的基本操作

集合的交

\[ A \cap B = \lbrace x \vert x \in A \wedge x \in B \rbrace \]

集合的并

\[ A \cup B = \lbrace x\vert x \in A \vee x \in B \rbrace \]

集合的笛卡尔积

注意到笛卡尔积是一个二元组。 \[ A \times B = \lbrace (x,y) \vert x \in A \wedge y \in B \rbrace \]

集合的映射

我们定义一个映射\(f\)满足 $f(x) = y $, 其中 \(x\in A\)\(y\in B\), 即映射可以把一个集合A中的元素映射到集合B中的一个元素。

可以称映射\(f\)作用于集合A,映射到集合B

阅读全文 »

L Simone and graph coloring

链接

https://ac.nowcoder.com/acm/contest/12548/L?&headNav=acm

题意

给你一个排列,排列的长度不超过\(10^6\)。你要对他的每一个元素进行染色,要求染色后不存在任何一个逆序对的两个元素颜色相同。你需要输出染色的数组。

阅读全文 »

F Fireworks

链接

https://ac.nowcoder.com/acm/contest/10272/F

题意

你想要放一个的烟花,你可以花费时间n来制作一个烟花,花费时间m点燃所有的烟花,烟花被点燃以后就释放了,但是他只有\(\frac{p}{10^4}\)的概率完美释放,你想完美释放至少一个烟花,那么需要的最少时间的期望是多少?

T组输入

阅读全文 »

A Matrix Equation

链接

https://ac.nowcoder.com/acm/contest/10662/A

题意

给你两个01方阵AB,你要找到一个01矩阵C,使得在2的模群中\(A\times C=B\cdot C\) ,其中 \(\times\) 为一般矩阵乘积, 符号 \(\cdot\)哈达马积(Hadamard product)

问你C有多少个解

阅读全文 »

CI/CD

持续集成、持续交付、持续部署

Continuous Integration

持续集成,即每当开发者对代码进行push,会自动化构建流水线,在流水线中进行自动化冒烟测试,进行集成测试,当测试通过,可以通过邮件的方式告知开发者。

Continuous Delivery

持续交付,当CI通过以后,流水线会自动化地将代码进行构建,并部署到类真实环境中(即测试环境、预发步环境)如果代码没有问题,可以继续手动部署到生产环境中。

Continuous Deployment

持续部署,当持续交付之后,代码即可自动化部署到生产环境。

阅读全文 »

选购服务器

点击链接并登陆即可来到轻量级服务器的选购地址,然后我们选择香港,选择centos8。选香港是因为那边的服务器可以访问外网并搭建VPN,而且域名也不用备案,比较简单,选centos8是因为现在流行的服务器都是centos

阅读全文 »