第15章 基数法则

news2024/9/23 5:24:50

第15章 基数法则

15.1 通过其他计数来计算当前计数

如何计算拥挤的房间里有多少人?你可以数人头,因为一个人就只有一个头。或者,也可以数耳朵,然后除以2。我们往往可以通过对其他事物计数进而计算当前计数。

最直截了当的通过查找一种事物来确定另一种事物的方式,是发现它们之间的双射。因为如果它们之间有双射的关系,那么数目肯定是一样的。这个重要的现象叫作双射规则/双射法则

15.1.1 双射规则

双射规则就像是计算能力的放大器,如果你弄明白了一个集合的数目,那么就能通过双射的方式立刻测定出其他集合的大小。

例:

A=当5种类型的甜甜圈都能挑的情况下,挑出12个甜甜圈的所有方式。
B=所有正好有4个1的16-bit序列。

我们可以用以下方式表示A中的一个集合

image-20221129104234700

消去空白后:

image-20221129104306341

我们得到了一个集合B的元素,这表明A和集合B之间存在一个双射。

因此由双射法可知,|A| = |B|。

引理15.1.1:有k种口味,选出n个甜甜圈的方式的数目,和n个0,(k-1 )个1的序列的数目一样。

15.2 序列计数

双射法则能够从一个计数得到另一个计数。这表明了一个常规的策略:首先仅对几样东西进行计数,然后用双射来得出所有东西的数目!

15.2.1 乘积法则

乘积法则为我们提供了乘积的大小的集合。我们学过,如果 P 1 , P 2 . . . . , P n P_1,P_2....,P_n P1,P2....,Pn是集合,那么

image-20221129105205567

就是第一项取自 P 1 P_1 P1、第二项取自 P 2 P_2 P2、第n项取自 P n P_n Pn的所有可能情况的集合。

法则15.2.1:(乘积法则,product rule )如果 P 1 , P 2 . . . . , P n P_1,P_2....,P_n P1,P2....,Pn是无限集,那么:

image-20221129105354251

15.2.2 n-元素集合的子集

定理4.5.5通过构建一个子集到长度为n的比特字符串之间的双射,证明了一个n-元素集合一共有 2 n 2^n 2n个子集。现在我们可以解释为什么会有2"个长度为n的比特字符串了,将所有n比特序列的集合写作集合的积:

image-20221129112850055

然后,乘积法则给了我们答案:

image-20221129112903379

15.2.3 加和法则

法则15.2.2:(加和法则)如果 A 1 , A 2 . . . . A n A_1,A_2....A_n A1,A2....An是不相交的集合,则:

image-20221129113058264

注意,加和法则只适用于不相交集合的并集。

15.2.4 密码计数

很少有计数问题只通过单一法则即可解决。通常,解决方案需要混合使用加和、乘积、双射及其他方法。

在某个计算机系统中,有效密码是6到8个字符的序列,第一个符号必须是一个字母(可以是小写或大写),其他的符号必须要么是字母要么是数字。那么有多少种不同的密码组合呢?

我们定义两个集合,分别表示第一个有效字符以及后续位置的有效字符:

image-20221129113702723

那么,所有可能的密码的集合是:

image-20221129113717138

image-20221129113723780

15.3 广义乘积法则

要把诺贝尔奖、日本奖和普利策奖颁给n个人,有多少种颁法?这个问题结果非常简单,答案为 n 3 n^3 n3,但是,如果这三个奖项必须颁发给不同的学者呢?

集合P表示n个人拿一个奖,集合S如下

image-20221129114512260

集合S到奖项分配之间存在一个双射。

这样,原始问题就简化为一个序列计数问题。但是,应用乘积法则不能直接对这种类型的序列进行计数,因为这些项之间是相互依赖的,它们必须各不相同。不过有一个巧妙的工具可以解决这个问题。

法则15.3.1:(广义乘积法则,Generalized Product Rule )设S是长度为k的序列构成的集合。如果存在:

image-20221129114658380

因此,根据广义乘法法则,以上问题中 |S| = n ·(n-1)·(n-2)

15.3.1 有缺陷的美元钞票

如果美元钞票的8位序列号中出现重复数字,那么它是有缺陷的( defective )。

image-20221129115000986

分母直接用乘积法则,分子用广义乘积法则。求得结果如下:

image-20221129115056718

15.3.2 一个象棋问题

问题:在8 x 8的棋盘中放置3个棋子,使其存在于不同的行和列,一共有多少种放法?

首先,我们将这个棋子问题映射成一个序列问题。从摆放配置到序列存在一个双射:

image-20221129115641199

image-20221129115713095

15.3.3 排列

集合S的排列是指S中的每一个元素刚好出现一次而构成的序列

一个n-元素集合有 n ! n! n种排列。

15.4 除法法则

k对1函数将域( domain )中的k个元素映射到各个元素的陪域。例如,将每只耳朵映射到它的主人的函数是2对1的。

法则15.4.1:(除法法则) 如果f:A→B是k对1的,那么|A|= k·|B|。

其实很多计数问题都是先对单个项进行多次计数,然后使用除法法则更正答案,从而简化问题。我们来看一些例子。

15.4.1 另一个象棋问题

在棋盘上摆放两辆相同的车确保它们不在同一行或同一列,有多少种不同的摆放配置?

设A表示序列( r 1 , c 1 , r 2 , c 2 r_1, c_1, r_2, c_2 r1,c1,r2,c2)的集合,其中 r 1 r_1 r1 r 2 r_2 r2是不同的行, c 1 c_1 c1 c 2 c_2 c2是不同的列。

设B表示有效的车位置配置集合。从集合A到集合B存在一个自然函数f。

但现在有一个问题。考虑序列: (1,a,8,h)和 (8,h,1,a)是相同的配置。函数f将两个不同的序列映射到一个相同的棋盘摆放策略,即f是一个2对1的函数。因此,根据除法法则,|A|=2·|B|,调整可得:

image-20221129151648073

15.4.2 圆桌骑士

亚瑟王要将n个不同的骑士安排在圆桌就座,一共有多少种坐法呢?如果两次排座对应的序列——从序号为1的骑士开始,沿桌子顺时针方向得到的骑士序列——相同,那么这两次排座是同一个安排。

将排座定义为:从正上方的骑士开始,沿桌子顺时针方向得到的骑士序列。因此,排座对应骑士的排列,共有n!种排列。

但是会有重复的情况发生,例如,如果n = 4,那么以下4个不同的序列对应同一种安排。

image-20221129152201475

实际上,从排座到安排的映射是一个n对1的函数,因为座位图上的所有骑士按顺序进行n次循环位移,得到同一种安排方式。因此,根据除法法则,圆桌就座安排方法的个数是:

image-20221129152237623

15.5 子集计数

一个n-元素集合包含多少个k-元素子集呢?

由于这类数字经常出现,所以它有一个特殊的标记:

image-20221129152408731

15.5.1 子集法则

我们可以使用除法法则为n选k的计数问题推导出一个简单的公式。方法是:对n-元素集合{ a 1 , . . . . . , a n a_1,.....,a_n a1,.....,an}任意排列,取其前k个元素,可得到一个k-元素子集。即,将排列 a 1 , . . . . . , a n a_1,.....,a_n a1,.....,an映射到集合{ a 1 , a 2 . . . a k a_1 , a_2...a_k a1,a2...ak}。

注意,对任意排列来说,只要前k个元素 a 1 , a 2 . . . a k a_1 , a_2...a_k a1,a2...ak相同,不论元素顺序如何,也不论其他n - k个元素的顺序如何,都会映射到这个集合。。换句话说,这个到k-元素子集的映射是k! (n 一k)!对1的

我们知道,一个n-元素集合有n!种排列,因此根据除法法则,得出

从而证明了:

法则15.5.1(子集法则,Subset Rule )一个n-元素集合包含

image-20221129153336491

个k-元素子集。

15.5.2 比特序列

恰好包含k个1的n-比特序列有多少个?我们已经知道, n-元素集合与n-比特序列之间存在双射关系。

推论15.5.2:恰好包含k个1的n-比特序列的数目是 ( n k ) \dbinom{n}{k} (kn)

此外,由引理15.1.1风味甜甜圈与比特序列之间的双射关系可知。

推论15.5.3:假定有k种口味,选择n个甜甜圈的方案个数是 ( n + ( k − 1 ) n ) \dbinom{n+(k-1)}{n} (nn+(k1))

15.6 重复序列

15.6.1子集序列

设A是一个n-元素集合, k 1 , k 2 . . . . k m k_1,k_2.... k_m k1,k2....km都是非负整数且和为n。A的 ( k 1 , k 2 . . . . , k m ) (k_1,k_2.... , k_m) (k1,k2....,km)-分割由以下序列表示: ( A 1 , A 2 . . . . . A m ) (A_1,A_2. ... . A_m) (A1,A2.....Am)

其中 A i A_i Ai是A的互不相交的子集,且 ∣ A i ∣ = k |A_i|=k Ai=k ,i=1… m。

这是一个从n!个排列到 ( k 1 , k 2 . . . . k m ) (k_1,k_2.... k_m) (k1,k2....km)-分割的映射,是一个 k 1 ! k 2 ! . . . k m ! k_1! k_2!...k_m! k1!k2!...km!对1的函数,因此根据除法法则,可得子集分割法则( Subset Split Rule )。

定义15.6.1:对于n, k 1 . . . k m k_1...k_m k1...km ∈ N,有 k 1 + k 2 + . . . + k m = n k_1+ k_2+...+k_m = n k1+k2+...+km=n,定义多项式系数为

image-20221129161934712

15.6.2 Bookkeeper 法则

给定一个长度为10的单词BOOKKEEPER,通过字母排列可以生成多少个序列?

BOOKKEEPER中有一个B,两个0,两个K,三个E,一个P和一个R。所以,BOOKKEEPER的排列与集合{1,2…10}的(1,2,2,3,1,1)-分割之间存在双射关系。即,将排列映射成这样的序列:序列的每个元素表示不同字母在排列中出现的位置。

例如,在排列 BOOKKEEPER 中,B在第1个位置,0出现在第2、3个位置,K在第4、5个位置,E在第6、7、9个位置,Р在第8个位置,以及R在第10个位置。所以BOOKKEEPER的映射是

image-20221129164214383

由子集分割法则,我们可以推断出单词BOOKKEEPER的字母重排总数为:

image-20221129164251565

法则15.6.3( Bookkeeper法则): l 1 , . . . , l m l_1,...,l_m l1,...,lm是不同的元素, l 1 l_1 l1出现 k 1 k_1 k1次, l 2 l_2 l2出现 k 2 k_2 k2次,……, l m l_m lm出现 k m k_m km次,对应的序列个数是:

image-20221129164339932

15.6.3 二项式定理

定理15.6.4(二项式定理 ):对于所有n ∈ N和a, b ∈R:

image-20221129165018473

关于二项式的推理很容易扩展到多项式 ( multinomial ),即两个或更多项的和。例如,求多项式 ( b + o + k + e + p + r ) 1 0 (b+o+k +e+p +r)^10 (boke+p+r)10展开项

image-20221129165147283

的系数。这个多项式展开的每一项是b,o,k, e,p或r中的一个或多个构成的10 个变量的乘积。 b o 2 k 2 e 3 p r bo^2k^2e^3pr bo2k2e3pr中有1个b,2个o,2个k,3个e,1个p和1个r。因此,这项的系数是这些变量的BOOKKEEPER重排数目:

image-20221129165226476

定理15.6.5(多项式定理 ):对于所有n ∈ N,

image-20221129165252294

15.7计数练习:扑克手牌

玩一个抽五张牌的纸牌游戏,每个玩家从一副52张牌的纸牌中抽取5张。0五张牌的数目等于从一个52-元素集合中挑选一个5-元素子集,即:

image-20221130092224663

下面我们做几个计数练习,指定手牌的不同属性进行5张牌计数。

15.7.1四条相同点数的手牌

四条是指其中四张是相同点数但不同花色的手牌。带四条的五张手牌有多少个?

同样,第一步是将这个问题映射到序列计数问题。四张相同点数的五张牌计数可以描述为以下序列:

image-20221130092400746

因此,这个问题可以映射为两个点数和一个花色构成的序列。

image-20221130092515129

现在我们只需要对序列进行计数即可。第一个点数有13种选择,第二个点数有12种选择,花色有4种选择。因此,根据广义乘法法则,四张相同点数的五张牌有13·12-4=624种。

15.7.2 葫芦手牌

葫芦( Full House)是指三张牌是一个点数、其他两张牌是另一个点数。

再次将这个问题转换成序列问题。葫芦与序列之间存在以下双射关系:

image-20221130092705928

image-20221130092953259

根据广义乘积法则,葫芦的数量是:

image-20221130093006855

15.7.3两个对子的手牌

含有两个对子的手牌有多少种?

两个对子的手牌可以描述成以下序列:

image-20221130094032626

也就是说,可能出现两个对子手牌的个数是:

image-20221130094049829

这是错误的答案!问题出在两个对子手牌与上述序列之间不是双射关系。实际上这是一个二对一的映射。

image-20221130094126363

这里,序列数量是手牌的两倍,所以根据除法法则,实际上两个对子的手牌数量是:

image-20221130094211199

对于以上问题,有两种应对方法:

1.凡是采用映射f:A→B将一个计数问题转换成另一个计数问题的时候,就要检查A中多少个(相同数量)元素映射到B的每个元素。假设A中的k个元素映射到B的每一个元素,那么根据除法法则除以常数k。

2.除此之外,尝试采用不同的方法来解决同样的问题。通常来说,方法不止一种,而且所有方法都可以得出相同的答案!

15.7.4花色齐全的手牌

这种手牌可以描述成以下序列:

image-20221130094622583

image-20221130094909058

还有没有别的序列对应这副手牌?

image-20221130094926008

因此,花色齐全的手牌总数是:

image-20221130094937961

15.8鸽子洞原理

鸽子洞原理
如果鸽子比洞多,那么至少有两只鸽子一定在同一个洞里。

法则15.8.1(鸽子洞原理):如果|A|> |B|,则对于全函数f:A →B,A一定存在两个不同元素通过f映射到B的同一个元素。

应用鸽子洞原理解决问题的时候,关键是要搞清楚三件事:

image-20221130095448872

15.8.1头上的头发

法则15.8.2(广义鸽子洞原理)如果|A| > k ·|B|,则对于全函数f :A →B,A存在至少k +1个不同元素通过f映射到B的同一个元素。

例:例如,随机挑选两个人,他们头上的头发数量肯定不会完全相同。但在马萨诸塞州波士顿,存在三个人的头发数量完全相同!

波士顿大约有50 万人不秃头,而且最多的有20 万根头发。设A是波士顿不秃头的人,B={10 000,10 001,…,200 000},f是这个人到他的发量的映射。由于|A>2|B|,根据广义鸽子洞原理,至少有三人拥有相同数量的头发。

15.8.2具有相同和的子集

给出了90个25位数。在这些25位数中,是否存在具有相同和的两个不同子集?

虽然找到这样两个集合很困难,但是我们可以用鸽子洞原理证明这两个子集存在。

设A表示90个数的所有子集构成的集合。由于一共只有90个数,而且任一25位数小于 1 0 25 10^{25} 1025,因此任意一个子集的和最多是 90 ⋅ 1 0 25 90·10^{25} 901025。设B是整数集合{0,1… 90 ⋅ 1 0 2 5 90· 10^25 901025}, f将每一个子集(A)映射到它的和(B )。

image-20221130101200754

image-20221130101212583

这两个数量都很庞大,但|A|略大于|B。这意味着f将A的至少两个元素映射到了B的同一个元素。换句话说,根据鸽子洞原理,两个不同的子集一定具有相同的和!

注意,这个证明并没有指出哪两个集合具有相同的和,这称为非构造性证明

15.8.3魔术

魔术师让助手给观众一副52张牌的扑克,而魔术师自己不看。

5名观众每人从中选择一张牌。然后,助手收集这5张牌,将其中的4张牌展示给魔术师。然后,魔术师很快就正确地猜出了第5张牌!

15.8.4秘密

助手能够准确地透露第5张牌,应用的方法正是计数和匹配。

image-20221130103119253

如上图,魔术师和助手面临的实际上是一个二分匹配的问题。

左边的每一个顶点对应助手的信息,即5张牌的集合。因此,左边顶点的集合X包含(52)个元素。

右边的每个顶点对应魔术师的信息,即4张牌的序列。所以右边顶点的集合Y有52·51·50·49个元素。

对于左边的顶点,选择隐藏―张牌有5个方案,剩余4张牌有4!种排列,因此左侧每个顶点的度120。

对于右边的顶点,第5张牌有48种选择,因此右侧每个顶点的度为48。根据定义12.5.5,这个图是带有度约束的,因此根据定理12.5.6存在匹配。

15.8.5真正的秘密

魔术师和他的助手需要商量一种匹配方式,这听起来是非常好的,但他们怎样才能记住(52)= 2598 960条边的匹配关系呢?

这里我们介绍一种方法。例如,假设观众选择:

image-20221130105324215

1、助手选择同样花色的2张牌。

2、助手确定这两张牌的点数,按照顺着时针方向,他们之间的距离总是在1到6之间

3、逆时针方向最远位置的牌最先展示,那么另一张则成为秘密牌。

因此:

image-20221130105455264

4、接下来需要确定1到6之间的一个数字。魔术师和助手事先商量好一种排序,比如从小到大顺序为:

image-20221130110123725

后三张牌的展示顺序按如下方式定义:

image-20221130110137555

15.8.6 如果是4张牌呢

假设观众只选择4张牌,助手向魔术师展示3张牌。魔术师能知道第4张牌是什么吗?

设X表示观众选择的四张牌集合,Y表示助手展示的三张牌序列。

image-20221130110519393

image-20221130110524198

因此,根据鸽子洞原理,展示相同的3张牌序列至少需要

image-20221130110625514

种不同的四张牌手牌。这对魔术师来说是一个坏消息:如果他看到了3张牌序列,那么第4张牌至少存在3种无法区分的情形。

15.9容斥原理

集合的并集有多大?给定三个集合M、E、P,根据加法法则,如果集合不相交,那么他们的和是

image-20221130151733440

但是,如果三个集合相交该如何创建并集呢?

15.9.1 两个集合的并集

给定两个集合S,和S2,容斥原理是指它们的并集的大小是:

image-20221130151858610

15.9.2 三个集合的并集

三个集合的并集大小可由更复杂的容斥原理计算:

image-20221130151947738

15.9.3 42序列、04序列或60序列

在集合{0,1,2…}中,有多少种排列是4、2,或0、4,或6、0连续出现的?

首先,必须确定单个集合(如 P 60 P_{60} P60)的大小。我们可以用一个小技巧:将6和0组合在一起看成单个符号。那么,存在以下双射关系

image-20221130152905019

所以,| P 60 P_{60} P60|= 9!。同理,| P 04 P_{04} P04|=| P 42 P_{42} P42|= 9!。

同理,也可以去计算交集的大小为 ∣ P 42 ∣ ∩ ∣ P 60 ∣ = 8 ! |P_{42}|\cap |P_{60}| = 8! P42P60=8! ∣ P 04 ∣ ∩ ∣ P 60 ∣ = 8 ! |P_{04}|\cap |P_{60}| = 8! P04P60=8! ∣ P 42 ∣ ∩ ∣ P 04 ∣ = 8 ! |P_{42}|\cap |P_{04}| = 8! P42P04=8! ∣ P 42 ∣ ∩ ∣ P 60 ∣ ∩ ∣ P 04 ∣ = 7 ! |P_{42}|\cap |P_{60}|\cap |P_{04}| = 7! P42P60P04=7!

带入以上公式的得到:

image-20221130153534624

15.9.4 n个集合的并集

单个集合大小的和,有一个简洁的标记表示,

image-20221130153804487

“两个集合的交集”表示为 S i ∩ S j S_i \cap S_j SiSj,其中i ≠ j。

image-20221130154001052

同理,三个集合交集的大小是:

image-20221130154019415

在容斥原理中,这些和项的正负符号是交替出现的, k个集合交集的符号是 ( − 1 ) k − 1 (-1)^{k-1} (1)k1。因此,容斥原理的公式表达为:

法则(容斥原理)

image-20221130154142277

虽然这种和项的和形式很方便地表述了容斥原理,但其实没有必要把多少个集合的交集逐个列出来。另一种写法是:

法则(容斥原理-II )

image-20221130154413997

15.9.5计算欧拉函数

利用容斥原理可以证明推论9.10.11的欧拉函数公式:

image-20221201095021574

首先,设S表示[0…n)中不与n互质的整数集合。所以 ϕ ( n ) = n − ∣ S ∣ \phi(n)=n - |S| ϕ(n)=nS。然后,设 C a C_a Ca是[0…n)中能被a整除的整数集合,即:

image-20221201095210347

所以,S中的整数刚好就是[0…n)中能被至少一个 p i p_i pi整除的整数。也就是说,

image-20221201095349311

所以:

image-20221201095429298

15.10 组合证明

假设现在有n件不同的T恤,只保留k件。你可以同等地选择k件留下,或选择补集n 一k件丢掉。因此:

image-20221130155842122

15.10.1 帕斯卡三角恒等式

在n个人中竞选k个人,Bob也想要成为k个人中的一员,首先他要弄清楚一共有多少种可能的队伍。

Bob被选上,他的k -1个队友是从其他n 一1个克争对于中挑选出米的。这什组建的队伍数量是:

image-20221130160327955

Bob没有被选中,所有k个队员都是从其他n-1个竞争对手中选出来的。这时组建的队伍数量是:

image-20221130160345170

两个集合不相交,所以队伍总数是:

image-20221130160422424

另一种推理方法,n个人(包括他自己)竞争k个位置,那么选择队伍的可能是:

image-20221130160518084

以上两个答案相等,所以

引理15.10.1(帕斯卡三角恒等式 )

image-20221130160637295

15.10.2 给出组合证明

组合证明是一种依靠计数原理构建代数事实的证明方法。 这种证明大多遵循以下基本框架:

  1. 定义一个集合S。
  2. 通过一种计数方式得出|S| =n。
  3. 通过另一种计数方式得出|S| = m。
  4. 得出结论:n = m。

检查组合证明

组合证明通过不同的方式对同一件事进行计数。如果已经熟练掌握了不同的计数方法,当然没什么问题;如果还有疑问,可以通过双射和序列计数对组合证明进行检查。

15.10.3有趣的组合证明

组合证明中的其他计数方式通常是基于简单的序列或集合定义的。这里我们给出一个有趣的组合证明例子。

定理15.10.2

image-20221130163601407

证明.font>我们给出组合证明。设S是从n张不同的红牌、2n张不同的黑牌中选出n张牌的所有手牌集合。首先注意,一个3n-元素集合有

image-20221130165230018

个n-元素子集。
另一方面,刚好有r张红牌的手牌数量是

image-20221130165244031

因为r张红牌有 ( n r ) \dbinom{n}{r} (rn)种选择,n -r张黑牌有 ( 2 n n − r ) \dbinom{2n}{n-r} (nr2n)种选择。因为红牌的数量可以是0到n的任意一个,因此n张手牌的总数是:

image-20221130165340392

两个|S|相等,证毕。

确定组合证明

red’>可以通过双射和序列计数对组合证明进行检查。

15.10.3有趣的组合证明

组合证明中的其他计数方式通常是基于简单的序列或集合定义的。这里我们给出一个有趣的组合证明例子。

定理15.10.2

[外链图片转存中…(img-kseWHYjj-1670047080162)]

证明.font>我们给出组合证明。设S是从n张不同的红牌、2n张不同的黑牌中选出n张牌的所有手牌集合。首先注意,一个3n-元素集合有

[外链图片转存中…(img-wxiRbC8Q-1670047080162)]

个n-元素子集。
另一方面,刚好有r张红牌的手牌数量是

[外链图片转存中…(img-IeGAIsOF-1670047080163)]

因为r张红牌有 ( n r ) \dbinom{n}{r} (rn)种选择,n -r张黑牌有 ( 2 n n − r ) \dbinom{2n}{n-r} (nr2n)种选择。因为红牌的数量可以是0到n的任意一个,因此n张手牌的总数是:

[外链图片转存中…(img-UVSzXHYO-1670047080164)]

两个|S|相等,证毕。

确定组合证明

组合证明可以说是很神奇的。定理15.10.2看起来相当可怕,但我们在证明它的过程中并没有使用任何代数运算。构建组合证明的关键是正确地选择集合S,这可能比较难。一般来说,公式中较简单的那一边可能提供一些提示。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/57484.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kotlin高仿微信-第34篇-支付-向商家付款(二维码)

Kotlin高仿微信-项目实践58篇详细讲解了各个功能点,包括:注册、登录、主页、单聊(文本、表情、语音、图片、小视频、视频通话、语音通话、红包、转账)、群聊、个人信息、朋友圈、支付服务、扫一扫、搜索好友、添加好友、开通VIP等众多功能。 Kotlin高仿…

这么简单,还不会使用java8 stream流的map()方法吗?

一、前言 在日常的开发工作中经常碰到要处理list中数据的问题,比如从数据库中查出了很多学生,由于一些原因需要在内存中找出这些学生中的所有姓名,或者把名为“王五”的语文成绩暂时修改为“100”,这些问题怎么处理呐&#xff0c…

初始C语言-1(数据类型、变量、常量、变量的作用域和生命周期、字符串+转义字符+注释)

目录 一、C语言 C语言主要运用于底层,也可以运用于上层软件(早期还没有其他的语言的时候,很多游戏就是C语言做的) C语言发展至今都是排行前三的计算机语言。 随着物联网,万物互联,以及嵌入式开发和单片机…

Java 面向对象的【三大特征】,你都掌握了吗

文章目录前言一、封装1.封装的概念2.访问修饰限定符3.初识 “ 包 ”4. static 成员static修饰成员变量static修饰成员方法static成员初始化二、继承1.为什么要继承2.继承的概念3.语法4.父类成员访问1.子类中访问父类的成员变量2.子类中访问父类的成员方法5. super 关键字6. 子类…

RabbitMQ之单机多实例部署

单机版安装前面介绍过了,不再介绍。 此处在单机版基础上 ,也就是一台Linux虚拟机上启动多个RabbitMQ实例,部署集群。 1、在单个Linux虚拟机上运行多个RabbitMQ实例: 多个RabbitMQ使用的端口号不能冲突多个RabbitMQ使用的磁盘存…

李宏毅《DLHLP》学习笔记6 - 语言模型

视频链接:https://www.youtube.com/watch?vdymfkWtVUdo&listPLJV_el3uVTsO07RpBYFsXg-bN5Lu0nhdG&index8&ab_channelHung-yiLee 课件链接:https://speech.ee.ntu.edu.tw/~tlkagk/courses/DLHLP20/ASR3.pdf 1. Language Model LM的作用是预…

嵌入式Linux 开发经验:注册一个 misc 设备

前言 之前买过好几本Linux 设备驱动的书,不过对设备驱动一知半解,什么叫设备,什么又叫驱动?最近工作需要,从源码级别深入的研究了一下 Linux 下的设备与驱动的概念,略有所收获 一般提起驱动开发&#xff0…

[附源码]Python计算机毕业设计Django基于Java的图书购物商城

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

visual stduio code 配置高效舒适web生产环境

与webstrom 之前写了一篇webstorm的配置,参考同学的建议,vscode可能使用的人更多,所以配置了一个vs来试用看看。 一直用不习惯的是全文搜索,还是更喜欢webstrom弹窗式的,还可以显示上下文。包括其他的配置&#xff0…

第二证券|小鹏持续萎靡,理想蔚来逆势反弹破月销记录

12月1日,多家造车新势力先后公布11月销量数据。跟着“银十”出售旺季热度淡去,新势力品牌销量也受轿车零售商场逐渐冷却影响出现整体下滑。接连稳居榜首的埃安、哪吒等品牌均出现4位数以上环比销量下滑。上月商场体现低迷的抱负与蔚来则逆势添加&#xf…

TensorFlow之文本分类算法-6

1 前言 2 收集数据 3 探索数据 4 选择模型 5 准备数据 6 模型-构建训练评估 构建输出层 构建n-gram模型 构建序列模型 GloVe(英文全称是Global Vectors for Word Representation)是一个全球化的英语语境的单词表示的向量集,其使用非…

新变化新营销 这些知识点你得 Get!(文末有 PPT 福利首次放送)

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 在刚刚结束的第 7 期火山引擎数智平台 VeDI「增长课堂」上,火山引擎数智平台 VeDI 零售行业解决方案、汽车行业解决方案团队,以及慢慢买平台…

LM2903VQPWRQ1比较器 LM73C0QDDCRQ1传感器的中文资料

1、LM2903-Q1双路差分比较器包含两个独立的电压比较器,这些比较器可在宽电压范围内由单电源供电运行。如果两个电源之间的电压差在2V至36V且VCC比输入共模电压至少高1.5V以上,那么它们也可以由双电源供电运行。电流消耗不受电源电压的影响。可将输出连接…

一文带你深入理解【Java基础】· Java集合(下)

写在前面 Hello大家好, 我是【麟-小白】,一位软件工程专业的学生,喜好计算机知识。希望大家能够一起学习进步呀!本人是一名在读大学生,专业水平有限,如发现错误或不足之处,请多多指正&#xff0…

Pikachu靶场全关攻略(超详细!)

一、靶场搭建 准备工具 phpstudy**pikachu靶场下载地址:**https://github.com/zhuifengshaonianhanlu/pikachu 搭建过程 将靶场文件夹放到phpstudy的www目录 进入pikach文件夹的inc目录,修改靶场配置文件config.inc.php,设置数据库账号密…

Ubuntu 安装 Zotero, 并导入原有数据库,然后同步账户

文章目录写在前面一、下载 Linux 下的 Zotero二、安装Zotero三、导入自己的数据库三、同步账户参考链接写在前面 发文时间:2022.12.03 自己的系统是Ubuntu20.04.5,Zotero 是 Zotero-6.0.18_linux-x86_64.tar.bz2 一、下载 Linux 下的 Zotero 直接登录…

魔兽世界开服教程——魔兽世界服务器架设全攻略---战网+Ladder排行版

需要用到的软件: 1. WAMP5 v1.7.exe (这个是为排行榜提供数据库服务,为Mysql数据库) 2.PvPGN-1.8.2-0-Win32-MySQL-5.0.45-BIN.zip PvPGN-1.8.2-0-Win32-SQLite-3.5.1-BIN.zip (这三个是战网主文件) pvpgn-…

使用dos命令符操作,感光屏绘图,ccd摄像头采集图像,并按程序进行机械加工的计算机

使用dos命令符操作,感光屏绘图,ccd摄像头采集图像,并按程序进行机械加工的计算机 使用dos命令符操作,感光屏绘图,ccd摄像头采集图像,并按程序进行机械加工的计算机是一种可以按照dos命令符复制磁带程序&…

yolov1算法思想流程简单讲解概述————(究极简单的讲述和理解)

在我想学习算法的时候,我看某些大佬特别喜欢上来就讲论文,给我搞的贼难受,毕竟本人太辣鸡了,上来这么搞看不懂,经过诸多算法的这样折磨。我打算根据自己的亲身经历和学习过程中遇到的问题出一期,先讲算法整…

智能优化算法(源码)—蜣螂优化算法(Dung beetle optimizer,DBO)

获取更多资讯,赶快关注上面的公众号吧! 文章目录启发数学模型滚球跳舞繁殖觅食偷窃伪代码2022年11月27日,东华大学沈波教授团队,继麻雀搜索算法之后,又提出了一种全新的群体智能优化算法——蜣螂优化(Dung …