树形结构 是数据结构与算法中一种非常重要的结构,是由N个具有层次的结点组成,其具有以下特点: (1)有一个根结点,一般称为root结点 (2)每一个元素称为node (3)除了root结点外,其余结点会被分为n个互不相交的集合,即n个互不相交的子树 树形结构基本名词: (1)结点:node,树形结 ...
转载 2021-09-10 22:00:00
134阅读
2评论
还记得当年坐在OZY大佬旁边被D的日子。。才发现现在妙已经变成权限题做不了(怕是要被DS)只能补补左偏聊以自慰了。 这个东西呢其实也是堆的一种(也叫左偏堆),可以理解为维护大(小)根堆的,堆顶就是最大(小)值用d表示,然后l,r是左右孩子节点,c是管理人数。至于为什么叫做左偏呢,是因为他一个奇怪
转载 2017-10-02 11:49:00
65阅读
2评论
搬运:搞了LCT后想来回顾一下伸展。 用codevs的2443为例吧。 讲讲结构,函数的意思,写了注释。 首先他是一棵二叉,并且是可以动的。 然后他有个性质,点x左子树(没错是整个子树)的值恒小于x的值,右子树(没错是整个子树)的值恒大于x的值。 然后他可以转。看,这下3变成根了。因为这样,我们
转载 2017-09-21 18:44:00
88阅读
2评论
1.图的存储与遍历 //链式前向星存储 int cnt,h[maxn]; struct edge{int to,nxt,val;}e[maxm]; void addedge(int u,int v,int val) { e[++cnt]=(edge){v,h[u],val}; h[u]=cnt; } ...
转载 2021-07-11 23:06:00
95阅读
2评论
二叉搜索二叉搜索的结构AC1二叉搜索的结构AC2前中后层序遍历是否完全二叉搜索完全二
原创 2022-06-28 09:51:47
61阅读
搬运:看一道caioj1439 题目描述 一开始给你一棵n个点n-1条边的,每个点有一个权值wi。 三种操作: op=1 u v :在点u和点v之间建一条边。 op=2 u v:摧毁点u到点v之间的边。 op=3 w u v:将点u和点v之间路径上的点(包括u,v),权值增加w。 op=4 u v
转载 2017-09-21 18:42:00
134阅读
2评论
补了一发LCA,表示这东西表面上好像简单,但是细节真挺多。 我学的是树上倍增,倍增思想很有趣~~(爸爸的爸爸叫奶奶.偶不,爷爷)有一个跟st表非常类似的东西,f[i][j]表示j的第2^i的祖先,就是说f[0][x]是父亲,f[1][x]是爷爷,f[2][x]是高祖父(爷爷的爷爷),f[3][x]是
转载 2017-09-26 20:39:00
90阅读
2评论
的性质 树上任意两点间恰有一条简单路径。 树上所有节点度数和为 \(O(n)\) 的。 树上 \(m\) 个点两两产生的 LCA 去重后不超过 \(m-1\) 个。 Proof:考虑找 LCA 的过程,两个点向上跳,重合时合并成一个点。最后剩下 \(1\) 个点,即合并了 \(m-1\) 次,故 ...
转载 16天前
428阅读
头歌:博弈中的搜索(Python实现)第2关:极小极大算法(无剪枝)原理就不说了,头歌上面都有 注意事项 1.建树,建树的时候要注意Python中深拷贝和浅拷贝的区别,在很多赋值的地方都应该用深拷贝。还有就是递归建树。 2.核心minmax函数,这个也是递归,不得不说递归真的是一个好东西,人理解迭代 神理解递归。从博弈的根节点开始向下递归,从叶子节点往回开始求最大值。 3.写这篇博客的目的,主要
转载 2023-11-11 17:51:53
225阅读
1. 算法原理1.1 博弈博弈针对的是二人零和博弈的问题,二人轮流行动,行动时令自己的优势最大。二人零和博弈有如下特点:确定性:二人的行动有多种选择,但最终的行动是确定的信息完备性:博弈双方知道当前局势(即空间状态)的全部信息零和性:一方的损失等于另一方的收益,二者得分相加恒为零由以上特点,我们可以构造博弈。因为信息完备性和确定性,可以用博弈的每个节点表示一个确定的状态,在动作后得到的新状
题目1025 除数博弈爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 选出任一 x,满足 0 < x < N 且 N % x == 0 。 用 N - x 替换黑板上的数字 N 。 如果玩家无法执行这些操作,就会输掉游戏。 只有在爱丽丝在游戏中取得胜利时才返回 True,否则返回 false。假设两个玩家都
文章目录前言一、题目二、使用步骤1.递归构建博弈2.α-β剪枝算法3.博弈可视化4.测试实例5.结果展示6.全部代码总结 前言使用Python编程实现博弈的构建,实现利用MinMax方法补全博弈缺失值,并结合α-β剪枝算法,实现博弈的剪枝。实现了整体算法与博弈的可视化。一、题目博弈初始结构如下二、使用步骤1.递归构建博弈代码如下:class Node(object):
转载 2023-11-29 13:40:48
0阅读
什么是逻辑法则?逻辑又被称为问题、假设或是否,是麦肯锡公司提出的分析问题、解决问题的重要方法。就是把一个已知问题当成干,然后开始考虑这个问题和哪些相关问题或者子任务有关。每想到一点,就加一个“树枝”。逻辑主要是帮你理清自己的思路,不进行重复和无关的思考。如下图两棵。如何理解并运用好逻辑法则呢?1.通过脑图的形式把主体定出来,然后按照顺序依次罗列。比如:你想工资每月超过2万元,那么
原创 2021-03-04 19:52:57
4722阅读
原文地址:http://mobile.51cto.com/ahot-347833.htm   今天有幸看到这篇文章,突然有了一种强烈的共鸣感,大家先可以看看原文作者怎么说,我再谈谈这自己的感受。   原文地址:http://meditic.com/degrading-for-success/       好了,谈谈我的感受。 &n
转载 精选 2013-05-05 11:59:26
423阅读
博弈-BIT下棋属于一种博弈游戏,博弈过程可以用(博弈)来表示。假设游戏由两个人( A 和 B )玩,开始由某个人从根结点开始走,两个人轮流走棋,每次只能走一步, 下一步棋只能选择当前结点的孩子结点,谁先走到叶子结点为胜。例如,对于下图所示的博弈,若 A 先走,可以选 f , B 若选 h ,则 A 选 j 胜。编写一程序,让计算机和人下棋。当计算机走下一步时,可以根据以下情况决定下一步:
LINK: 不愧是我认识的出题人 出的题就是牛掰 == 他好像不认识我 考试的时候 只会写42 还有两个subtask写挂了 拿了37 确实两个subtask合起来只有5分的好成绩 父亲能转移到自己的子树内部的一点所以要从叶子结点往根考虑. 一个棋子的时候 单独某个点的SG函数不难推 这个点可以
转载 2020-07-18 22:55:00
57阅读
授权问题
原创 2021-07-29 15:28:15
261阅读
Codeforces 题面传送门 & 洛谷题面传送门 一道 hot tea……听讲解时半懂不懂因为不知道题目意思,最后终究还是琢磨出来了( 首先注意到对于每个 \(a_i\),它具体是什么并不重要,我们只关心它的奇偶性,因为每次到达一个点后,如果后手有必胜策略,那么如果先手原地踏步,那么后手完全可以 ...
转载 2021-07-16 22:46:00
160阅读
2评论
认识、方法、实践
原创 2022-10-23 00:53:14
2388阅读
正题 AT1998 [AGC002D] Stamp Rally【Kruskal重构,倍增】 https://www.luogu.com.cn/problem/AT1998 题目大意 给出$n$个点$m$条边的一张无向图,$q$次询问两个人分别从$x,y$,要求总共经过$z$个点的情况下经过边的最大 ...
转载 2021-10-25 10:59:00
176阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5