- 博客(16)
- 收藏
- 关注
原创 ACM组合博弈SimpleGameTheory
有两个玩家。有三堆扑克牌。游戏双方轮流操作。玩家每次操作是选择其中某一堆牌,然后从中取走任意张。最后一次取牌的一方为获胜方。
2024-03-11 23:17:33 768
原创 ACM二分匹配BipartiteMatching
(想象男女婚配问题,男生在左,女生在右)先看左侧的男生,对于第一个男生,在右边查找他所能匹配的第一个女生,并且连接。假如出现下面的情况:一个男生(记为男1)发现他所能匹配的第一个女生(记为女1)已经有匹配对象(记为男2)了,那么就以女1的匹配对象(男2)为研究对象,看男2除了当下的这个匹配对象以外,接下来还有没有可以匹配的对象,假如下一个女生(记为女2)也有了匹配对象,那么就递归下去(以女2的匹配对象(记为男3)为研究对象……所以最小路径数就等于。:机器A的模式作为左边的点,机器B的模式作为右边的点。
2024-03-10 22:49:15 792 1
原创 ACM深度优先搜索DFS
理解“回溯”操作十分重要。每次递归调用结束之后随着进行到下一个数字,都把上一个数组在标记数组中对应的位置变成0,所以在下一步才可以使用这一个数字。:转化为子问题(假如前k个数已经排好,那么剩下的问题就是其余k-1个数的全排列)。:剪枝:可走的步数小于时间、奇偶性。考虑每一步该怎么走(往除了墙或是已经走过的路的四个方向上走)。下图中:2 7 1 6 5 3 8 9 4。下图中:1 7 5 6 3 2 8 4 9。下图中:1 5 3 6 7 4 9 8 2。,左子树中任何一个元素都比右子树靠前。
2024-03-09 23:39:07 444
原创 非线性最优化方法
为一元函数最优化问题的牛顿法求解的推广,其每一步基本迭代均使用在当前迭代点处的二阶Talor展开式作为原目标函数的一个局部逼近模型进行求解。当迭代的两端点之间的距离大于所需的精度时,反复判断其中点值的正负性,每次取一个端点等于中点值进行迭代。每一次迭代都只需要多计算一个点的函数值,而剩下的长度就变成了约为原先的2/3倍。体现“一维搜索”在多元函数的最优化问题数值求解中的应用。最优化思想本质上就是求解一个可行的,甚至是最优的方案的决策问题。,所有可行解构成的集合为该模型的。作为求解原最优化问题的一个。
2024-03-09 21:11:41 1058
原创 ACM宽度优先搜索BFS
当访问到一个节点时(队列不空时),先访问该节点,再将该节点的左右儿子放入队列。:BFS的同时使用一个数组来描述骑士一步可以走到的地方,这样就可以使用一层循环来访问所有骑士从一个点到另一个点的可能。:把状态定义为三个杯子中的可乐量以及步骤数,同时使用一个三维数组做标记(也可以使用二维),一直迭代到目标状态。)),当到达目标楼层后就停止迭代。:使用楼层的层次遍历(根据每一层楼的树状结构可以形成一个。),同时使用一个数组来标记一个楼层是否曾经到达过(用来。(FIFO),队头删除元素,队尾加入元素。
2024-03-05 22:52:24 430 1
原创 ACM最短路径问题
把相邻的城市都初始化为距离起点(虚拟起点)为0的点,再使用Dijkstra算法即可。V0转到V1再到剩下所有终点的距离。V0直达剩下所有点的距离。曾经记忆下来的的最短路径。:Dijkstra算法。一个N*N的二维数组。,对应的数值代表一条。从原点经过V2再到达。
2024-03-04 23:21:03 360 1
原创 ACM动态规划DP
要想求n层数塔的最优解,那么就假设从下往上的n-1层数塔的最优解已经知道,那就只需要做一次大小判断即可。下来),即:从当前的数字往前遍历,找比自己小的数,在他最长有序子序列的长度的基础上+1,最后取最大的长度就行了。:由疲劳度公式(a-b)^2,每次搬的物品一定是重量相邻的物品(画数轴证明)。1:(贪心算法)从头开始遍历数组,每次向后找比自己小的数,包含进来。:遍历数组,每次考虑以当前的数结束的最长有序子序列的长度(使用另一个数组。物品n+前(n-2)个物品选(m-1)对的最优解。
2024-03-03 22:46:13 475
原创 CS61a Chapter 1: Building Abstractions with Functions
Python is a prominent as well as widely used language which can be used in web, game, science and etc. (which can be well illustrated in the first chapter of this ✬Python3 Tutorial✬ and ✬the Zen of Python✬)Type python at a terminal prompt and an interactiv
2024-03-03 14:17:57 1839
原创 ACM标准模板库STL
先进后出(FILO)一个有序的容器,里面的元素都已经排列好,支持插入、删除、查找等,而且所有的操作都是严格在log(n)时间内完成,效率非常高。(优点:自动去重并且排序)(但是只能使用迭代器访问)map是一个“键值对”(key/value)容器,迭代器可以修改value但不可以修改key。map会根据key自动排序。map可以使用键(key)作为下标(而非数组中的位置)来获取一个值。用于生成序列的全排列。若当前已到最大字典序,那么就返回false(如例中的{3, 2, 1})
2024-03-01 22:53:52 1886 1
原创 ACM贪心算法GreedyAlgorithm
从左到右每次比较左右两个数,假如左边的数大于右边的数,那么就把左边的数删掉(做标记),这样就可以使得改动之后的数小于原来的数。可图:一个非负整数组成的有限序列如果是某个无向图的度序列,则称该序列是可图的。:将田忌和大王的🐎都由好到劣排序,每次比较一匹🐎,假如田忌的🐎好于大王的🐎,那么就使用这一匹🐎;否则就使用最差的🐎。:(反证法证明:至少存在一个时间序列,他包含最早结束的事件)最长时间序列一定包含最早结束的事件。:度序列:若把图G所有顶点的度数排成一个序列S,则称S为图G的度序列。:保证高位的数尽量小。
2024-02-26 21:44:03 383 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人