摘要: ##快速计算多项式的值(秦九韶算法) 阅读全文
posted @ 2023-04-20 23:18 csai_H 阅读(36) 评论(0) 推荐(0) 编辑
摘要: ###杂物(拓扑排序) 前置知识 有向无环图(DAG):没有环的有向图。 对于DAG,在有的时候,对于一个节点的信息的计算,需要确保与之相连的点的信息全部被计算,这时就需要用到拓扑排序。 本质是确保DAG上的点的计算顺序而非对数列排序。 队列实现拓扑排序过程 step1:讲入度为0的点插入队列 st 阅读全文
posted @ 2023-04-12 16:56 csai_H 阅读(119) 评论(0) 推荐(0) 编辑
摘要: Trie(字典树或前缀树) ##一.Trie Trie,又称字典树或前缀树,常用来存储和查询字符串。假定字符串均由小写字母构成,那么Trie将是一棵26叉树。 给定五个字符串,分别为acd、abd、be、cbe、cbf,Trie将以以下形式存储这些字符串: 可以发现,这棵字典树用边来代表字母,而从根 阅读全文
posted @ 2023-03-15 22:03 csai_H 阅读(177) 评论(0) 推荐(0) 编辑
摘要: #vector vector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 front()/back() push_back()/pop_back() begin()/end() 支持比较运算,按字典序 #include <bits/stdc 阅读全文
posted @ 2023-02-28 23:27 csai_H 阅读(20) 评论(0) 推荐(0) 编辑
摘要: #最小生成树 G=(V,E),若G的一个生成子图是一棵树,则称之为G的一棵生成树(记为T) 最小生成树:无向图G的所有生成树中,树枝的权值总和最小的称为G的最小生成树。 常见的求解最小生成树的算法有Prim算法和Kruskal算法。显然,生成树是否存在和图是否连通是 阅读全文
posted @ 2023-02-23 11:42 csai_H 阅读(46) 评论(0) 推荐(0) 编辑
摘要: #最短路问题 图论中求某点到某点最短的路径长度。 图中点1到点4的最短路径长度应为3. ##分类 最短路问题分为两类:单源最短路和多源最短路。前者只需要求一个固定的起点到各个顶点的最短路径,后者则要求得出任意两个顶点之间的最短路径。 ###单源最短路 ####Dijkstra算法 Dij基于一种贪心 阅读全文
posted @ 2023-02-23 11:18 csai_H 阅读(61) 评论(0) 推荐(0) 编辑
摘要: ##线段树(Segment Tree) 线段树是主要用于维护区间信息(要求满足结合律)的数据结构。与树状数组相比,线段树可以在O(logN) 的时间复杂度内实现**单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)**等操作。 ###引入: 问题1: 有 $n(n \leq 阅读全文
posted @ 2023-02-10 16:03 csai_H 阅读(19) 评论(0) 推荐(0) 编辑
摘要: #并查集 大佬笔记如下: 通俗易懂 https://zhuanlan.zhihu.com/p/93647900 ##并查集是什么? 主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作: 合并:把两个不相交的集合合并为一个集合。 查询:查询两个元素是否在同一个集合中。 作用: 实 阅读全文
posted @ 2023-02-10 12:32 csai_H 阅读(54) 评论(0) 推荐(0) 编辑
摘要: #优先队列 ##优先队列/堆 优先队列又名二叉堆,是特殊的二叉树。二叉堆有两种:最大堆和最小堆 最大堆(大根堆):父结点的键值总是大于或等于任何一个子节点的键值 最小堆(小根堆):父结点的键值总是小于或等于任何一个子节点的键值 优先队列:在C++中优先队列默认的是大根堆,如果用小根堆则加入great 阅读全文
posted @ 2023-02-07 13:47 csai_H 阅读(88) 评论(0) 推荐(0) 编辑
摘要: #三分 (单峰/单谷函数求最大/最小值) ##影子长度 题目描述: 人左右走动,求影子L的最长长度。 分析: 根据图,发现当灯、人的头部和墙角成一条直线时(假设此时人站在A点),此时的长度是影子全在地上的最长长度。 当人再向右走时,影子开始投影到墙上,当人贴着墙,影子长度即为人的高度。 所以当人从A 阅读全文
posted @ 2023-02-05 13:50 csai_H 阅读(137) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示