
数据结构
文章平均质量分 76
Aray1234
Work hard, play hard!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Leetcode
Leetcode solutions原创 2023-08-26 22:53:37 · 477 阅读 · 0 评论 -
Nim博弈和Sprague-Grundy定理
Nim博弈和Sprague-Grundy定理一、 Nim博弈Nim游戏是指有n个堆,每堆有若干石子,现在有两个玩家轮流在堆中去取石子,要求至少取一个石子,至多取一个堆的石子,谁最先将最后的石子取完就赢了。若以[x1,x2,...,xn][x_1,x_2,...,x_n][x1,x2,...,xn]表示每堆石子的个数,则称xk(k∈1,...n)x_k(k\in1,...n)xk(k∈1,...n)为状态。这种游戏有一个规律,就是所有状态相互异或以后的值若为0,则先手(也就是第一个取石子的人)必输原创 2020-07-24 19:34:07 · 677 阅读 · 0 评论 -
Python中的大根堆
目录什么是大根堆大根堆的操作大根堆的代码实现使用库函数什么是大根堆大根堆是一种完全二叉树,每个内部结点的值都大于或等于子结点的值,将堆的元素映射到数组中很简单:如果一个结点的下标是k,则其左孩子的下标为2k+1,右孩子的下标为2k+2。大根堆的表示:可以将大根堆表示为数组,根结点为Arr[0]。对于一个下标为i的结点,即Arr[i],则Arr[(i-1)/2]为其父节点,Arr[(2*i)+1]返回左孩子结点,Arr(2*i)+2]返回右孩子结点。大根堆的操作1. .原创 2020-06-21 10:00:47 · 5511 阅读 · 2 评论