第十四届蓝桥杯大赛软件赛省赛-试题 B---01 串的熵 解题思路+完整代码
问题描述
对于一个长度为 n 的 01 串 $S = x_{1} x_{2} x_{3} … x_{n}$,香农信息熵的定义为 $H(S ) = − {\textstyle \sum_{1}^{n}} p(x_{i})log_{2} (p(x_{i}))$,其中 $p(0)$, p $(1)$ 表示在这个 $01$ 串中 $0$ 和 $1$ 出现的占比。比如,对于 $S = 100$ 来说,信息熵 $H(S ) = − \frac{1}{3} log_{2} ( \frac{1}{3} ) − \frac{2}{3} log_{2}( \frac{2}{3} ) − \frac{2}{3} log_{2} ( \frac{2}{3} ) = 1.3083$。对于一个长度为 $23333333$ 的 $01$ 串,如果其信息熵为 $11625907.5798$,且 $0$ 出现次数比 $1$ 少,那么这个 $01$ 串中 $0$ 出现了多少次?
基础博弈论
本文介绍了 公平组合游戏 和 有向图游戏 两种博弈论算法。当做我的一个笔记,防止以后遗忘,方便复习时回想。附带一个完整的数学证明过程。
快速求组合数
组合是数学的重要概念之一。从 $n$ 个不同元素中每次取出 $m$ 个不同元素 $(0 \leqslant m \leqslant n)$ ,不管其顺序合成一组,称为从 $n$ 个元素中不重复地选取 $m$ 个元素的一个组合。所有这样的组合的种数称为组合数。
本文将通过动态规划的思维和数学方法来求解组合数。
剑指 Offer 47. 礼物的最大价值
题目:在一个 $m*n$ 的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于 $0$)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?
来源:力扣(LeetCode)
C 语言指针详解
指针是 C 语言的灵魂,同时,指针也是 C 语言里最难搞的内容,初学者很容易就被绕进去。因此,出这个文章来详细解答一下 C 语言中指针的应用。同时,也会举一些常见的用法和易错点。