算法竞赛
文章平均质量分 81
算法竞赛备赛过程中记录的笔记,包括所有的基础算法,常见题型总结
CodeSlogan
在读研究生,沉淀中……
展开
-
天梯赛并查集
文章目录前言1. 初始化结点2. 查找一个结点的根结点3. 合并4. 例题(luogu)4.1 题目背景4.2 题目描述4.3 输入格式4.4 输出格式4.5 输入输出样例4.6 solution前言本文介绍的是并查集,它属于我们所学的数据结构树的一个特例,经常用于求解各结点之间的关联问题1. 初始化结点void init(){ for(int i = 1; i <= n; i++) father[i] = i;}2. 查找一个结点的根结点int get(in原创 2021-09-22 16:18:21 · 144 阅读 · 0 评论 -
树状数组+二分->动态寻找第k小的数
树状数组可以把它理解为**动态**的前缀和,我们可以改变数组中的任一一个数,以更短的时间获得任一子区间的和。本节选了两道例题,来熟悉**树状数组+二分**在动态寻找第K小的数方面的应用原创 2022-04-01 16:54:33 · 334 阅读 · 0 评论 -
【数据结构】红黑树学习笔记
点击此链接进行红黑树模拟前言所有的红黑树的插入删除操作都与二叉搜索树(BST)的操作类似,只不过红黑树在BST的基础上,多出了维护红黑树性质的操作。而红黑树的性质有以下5条:所有的结点要么红,要么黑根结点必为黑叶子结点(NULL结点)全为黑任意两个红色结点必不相邻任意结点往下到任意叶子结点的简单路径上所包含的黑点个数相同插入(看叔叔结点的脸色)待插入的结点默认是红色。因为如果是黑色,每插入一个结点,由于路径上的黑色结点数会发生改变,就要进行调整;如果默认是红色的话,只有当出现两个原创 2022-05-07 11:31:15 · 647 阅读 · 0 评论 -
【乌蒙磅礴走泥丸】天桥赛后回忆录
今天是2022年4月29号,距离比赛结束已经有一段时间了,觉得还是要把这一段时间所经历的事情记录下来。先给出结果吧——天梯省特+蓝桥省一这么一看,除了天梯国三的目标没有达到,但结果还是可以令人接受的。在准备比赛时,我就在想,让我最喜欢,最有天分的事情,在保研路上助自己一程。最后没有想到,真的做到了。曾经真的有无数次,付出了好多好多,却得不到回报,那种无力感,都只能自己默默承受。并且去年蓝桥省一只有一位,谁也不知道今年省一会是谁。但好在今年的4月,一切都有了结果,当初的构想,如今已经实现了一大部分。下面原创 2022-04-29 15:35:30 · 479 阅读 · 4 评论 -
假币问题 (n枚硬币+未知轻重+DFS)
本题用的是减治法,我找了很多网上的写法,但是没有符合我想象中的代码,或者就是题目略有不同,所以决定自己写一个。写的时候花了很长时间处理边界问题。注意本题是n枚硬币,并且没有事先告知硬币是偏重还是偏轻,因此如果只是根据重量的大小来判断,无法得到正确的答案。原创 2022-03-31 21:37:26 · 4217 阅读 · 0 评论 -
区间DP三步曲
这里选取了区间DP非常有代表性的三道题,三题之间层层递进,有助于理解好区间DP原创 2022-03-29 14:46:18 · 773 阅读 · 0 评论 -
一道题带你领略DFS-记搜-DP
如题所言,DFS-记搜-DP是蓝桥杯比赛中最常用的几种方法,熟练掌握它们,拿奖将易如反掌。下面我们通过2014年地宫取宝问题,来一探这道题的3种不同的想法原创 2022-03-16 19:13:22 · 777 阅读 · 0 评论 -
【算法竞赛备赛】基础算法
记录竞赛中用到的一些基础算法,包含排序,二分,双指针等等原创 2022-01-21 10:17:11 · 872 阅读 · 0 评论 -
【算法竞赛备赛】数据结构
文章目录前言cin, cout加速代码句链表单链表双链表栈单调栈队列普通队列循环队列单调队列KMPTrie并查集堆Hash表参考资料前言记录算法竞赛中经过考察的数据结构,其中包括树与图的存储,高级数据结构并查集,Hash表的实现,KMP,栈与队列,以及STL中各容器的使用,需要重点掌握cin, cout加速代码句cin.tie(0);ios::sync_with_stdio(false);链表单链表// head表示链表头// e表示当前结点下的值// ne表示当前结点的下一结点//原创 2022-01-28 20:17:10 · 726 阅读 · 0 评论 -
【算法竞赛备赛】搜索与最短路
本篇介绍算法竞赛中最最重点的一个部分搜索和图论。搜索分为广度优先搜索和深度优先搜索,在题目中非常的常见。而在图论中经常考察的最短路与最小生成树,是算法中极为重要一项基本功原创 2022-02-07 00:26:38 · 374 阅读 · 0 评论 -
【算法竞赛备赛】DP基础—用最短的代码解最复杂的问题
动态规划,DP(Dynamic Programming),运筹学的一个分支,同时也是求解决策过程最优化问题的过程。它和`贪心`一样,不是具体的某一种算法,而是一种思想。DP的学习和使用,非常地具有挑战性,会使用DP,经常可以写出令人拍案叫绝的代码。所以它也是算法竞赛,数学建模等中的一个热点问题原创 2022-02-20 22:43:34 · 422 阅读 · 0 评论 -
【算法竞赛备赛】贪心
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是**最好**的选择。也就是说,不从整体最优上加以考虑,*算法*得到的是在某种意义上的局部最优解。贪心问题的解法比较随缘,一般通过猜测加以验证,使局部最优等于全局最优。虽然听起来玄学……原创 2022-02-28 14:58:41 · 413 阅读 · 0 评论 -
【算法竞赛备赛】数论
在考试中,经常会出现一类问题,它们不涉及很深的算法,却和数学息息相关。这样的问题通常难度不大,也不需要特别的数学知识,只要掌握简单的数理逻辑即可。——《算法笔记》胡凡原创 2022-03-05 16:24:38 · 517 阅读 · 0 评论 -
关于路径逆序的输出办法
在算法竞赛的图论问题中,在求最短路径等的问题时,我们经常是逆序的存放路径的,因此在最后输出路径时极为不便。以下采用递归形式的遍历方法,可以很好地解决这一痛点首先我们在主函数中把终点作为参数直接传入PrintPath(target);在输出路径的同时,考虑到了输出格式的问题void PrintPath(int v) { if (v == start) { printf("%d", v); return; } PrintPath(path[v]原创 2022-02-13 02:16:58 · 510 阅读 · 0 评论 -
Java3D设计作品入门级教程
文章目录前言坐标对应关系加一个面前言鉴于许多同学对计算机图形学设计作品无法下手,特此推出Java3D设计作品入门级教程,可以给予毫无头绪的你一点思路。本文仅起到抛砖引玉的作用,并不提供现成的作品。坐标对应关系首先我们要理解java3d中的坐标轴,这个坐标轴与我们平常摆的位置的不太一样,所以要做下区分然后我们把这个坐标轴代入到我们真实的环境中,代码及运行结果如下:package com.test.demo01;import java.applet.Applet;import java.aw原创 2021-11-25 23:41:26 · 3701 阅读 · 4 评论