
寒假集训
Qx7
coder
展开
-
字典树
字典树:Trie树是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。优点:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。基本样式:Tire树的性质:1.根节点不包含字符,除根节点外每一个节点都只包含一个字符2.从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串3.每个节点的所有子节点包含的字符都不相同...原创 2021-03-03 14:45:25 · 120 阅读 · 0 评论 -
单调栈和单调队列
手写栈stack(先进后出):int arr[9];int top=0;//top指向的是要出去的元素//每添加一个元素top++; arr[1]=3;arr[2]=4;//0号元素不添加;//取到2号元素arr[top];//删去2号元素top--;双端队列deque(先进先出):int arr[9];int head=0,tail=0;//每添加一个元素tail++;arr[1]=3;tail++;arr[2]=4;tail++;//同样的0号元素不赋值 ;//取队原创 2021-02-24 16:54:48 · 87 阅读 · 0 评论 -
博弈论
说到博弈论,他的官方解释就是:博弈论考虑游戏中的个体的预测行为和实际行为,并研究它们的优化策略。博弈论很多种类,一般训练中会遇到的有几种,巴什博弈,威佐夫博弈,尼姆博弈,斐波那契博弈。下面分开进行对这几种博弈来进行介绍。一.巴什博弈(同余理论)巴什博奕:只有一堆n个物品,两个人轮流从中取物,规定每次最少取一个,最多取m个,最后取光者为胜。核心代码:if(n%(m+1)==0) cout<<“后手必胜”<<endl;else cout<<“先手必胜”<转载 2021-02-21 14:01:05 · 123 阅读 · 0 评论 -
ACM寒假集训#11---背包
暂无原创 2021-02-02 15:41:26 · 100 阅读 · 0 评论 -
ACM寒假集训#10---最小生成树
暂无原创 2021-02-02 15:40:56 · 87 阅读 · 0 评论 -
ACM寒假集训#9---最短路
暂无原创 2021-02-02 15:40:23 · 103 阅读 · 0 评论 -
ACM寒假集训#8---hash
暂无原创 2021-01-29 15:00:31 · 99 阅读 · 0 评论 -
ACM寒假集训#7---dp(动态规划)
暂无原创 2021-01-29 15:00:01 · 108 阅读 · 0 评论 -
ACM寒假集训#6---贪心
贪心不是一种算法,是一种思想原创 2021-01-26 15:11:30 · 102 阅读 · 0 评论 -
ACM寒假集训#5---线段树
##第五天-----线段树线段树示例:建树代码:const int N=50010; int arr[N];//原数组int tree[4*N];//树-数组void bulid_tree(int arr[],int tree[],int node,int start,int end) { //node是当前的树枝编号就是图中红色的 //start和end是数组的左端点和右端点的下标 //start和end就是图中中括号里的东西 if(start==end)原创 2021-01-25 14:31:04 · 109 阅读 · 0 评论 -
ACM寒假集训#4
DFS(深度优先搜索)深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。基本思路深度优先遍历图的方法是,从图中某顶点v出发:原创 2021-01-24 16:31:43 · 85 阅读 · 0 评论 -
ACM寒假集训#3
##第三天-----二分二分主要就是查找,相比于遍历,二分的时间复杂度更小。写二分时候,主要注意:1.先排序 sort(a,a+n)/sort(a+1,a+1+n)(一般都是从小到大)2.注意mid,right,left的取值:a.如果用mid=(left+right)/2,在运行二分查找程序时可能溢出超时因为如果left和right相加超过int表示的最大范围时就会溢出变为负数。所以如果想避免溢出,不能使用mid=(left+right)/2应该使用mid=left+(right-left原创 2021-01-24 14:12:50 · 107 阅读 · 0 评论 -
ACM寒假集训#2
2021寒假ACM集训—Jaelyn的纪要##第二天-----并查集1.初始化int fa[MAXN];inline void init(int n){for (int i = 1; i <= n; ++i)fa[i] = i;}让数组中每个元素的值等于下标值2.合并inline void merge(int i, int j){fa[find(i)] = find(j);}合并操作也是很简单的,先找到两个集合的代表元素,然后将前者的父节点设为后者即可。当然也可以将后者的原创 2021-01-24 13:12:31 · 110 阅读 · 0 评论 -
ACM寒假集训#1
2021寒假ACM集训—Jaelyn的纪要##第一天-----基础知识与STL一个字:懵!两个字:贼懵!!三个字:特别懵!!!我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;全新的 KaTeX数学原创 2021-01-22 19:31:03 · 179 阅读 · 0 评论