“算法”
算法学习笔记3——快速傅里叶变换(FFT)
算法学习笔记3——快速傅里叶变换(FFT) 问题: 内容:对于两个多项式快速取得两个多项式的乘积。 对于最基本的解法,便是通过分配率将两个多项式中的每一项都相乘,然后取得计算结果。 对于两个n项...
ACM程序课算法笔记6——二分图匹配
ACM程序课算法笔记6——二分图匹配 前置定义 二分图(Bipartite Graph ):如果一个图的顶点可以分为两个集合X和Y,图的所有边连接的两个点都来自不同的集合,则称该图为“二分图”或...
算法学习笔记2——基环树&字典树
算法学习笔记(2): 基环树&字典树 基环树 若一个图有n个节点,n-1条边,那么这个图一定无环,此时若再增加一条边,必定会出现一条环。 由此可得 n个节点,n条边,必定有个环,去掉这个...
算法学习笔记1——极角排序
算法学习笔记1——极角排序 基础含义 对于一个平面的多个点,选择一个点作为极点O,再从O出去一条射线定为极轴OX(一般把X轴正半轴作为极轴),对于每个平面上的点我们有一种新的表示方法:极坐标(γ...
ACM程序课算法笔记5——组合博弈
ACM程序课算法笔记5——组合博弈 问题引入 问题:一共有10张牌,你与一个人进行游戏,每次只能取走1或2或3张牌,谁取走最后一张,你是先手,如何获胜。 题解:根据以前的经验,我们能保证一轮取走...
ACM程序课算法笔记4——背包问题
ACM程序课算法笔记4——背包问题 基本模型 给你一个容量为V的背包和若干种物品,在一定的限制条件下(每种物品都占用一定容量),问最多能放进多少价值的物品。 最典型最基本的动态规划问题,DP问...
ACM程序课算法笔记3——动态规划
ACM程序课算法笔记3——动态规划 问题一:HDOJ2084——数塔问题 问题描述: 有一个数塔,从顶部出发,要求找到一条从顶部到底部的一条路径,使路径上的和最大 解题思路: 如果去掉左上方一条...
ACM程序课算法笔记2——递推求解
ACM程序课算法笔记2——递推求解 基本方法 确认:能否容易的得到简单情况的解? 假设:规模为N-1的情况已经得到解决。 重点分析:当规模扩大到N时,如何枚举出所有的情况,并且要确保对于每一种...
ACM程序设计课笔记1——贪心算法
ACM程序设计课笔记1——贪心算法 表面理解:在对问题求解的时候每次都选择对当前情况的最优解(多次的局部最优解)。 基本步骤 从问题的某个初始解出发。 采用循环语句,当可以向求解目标前进一步时...