NOI大纲知识点详解
文章平均质量分 80
无双worker
穿川晓月皎明雾,烟起云涌润一花。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
浅说差分约束
当我们的题目中遇到一些存在不等关系的式子的时候,我们其实可以把它转换成图上问题来解决。为什么呢?我们可以观察一下这两个式子:aj≤ai+wa_j\le a_i+waj≤ai+wdisj≤disi+wi,jdis_j\le dis_i+w_{i,j}disj≤disi+wi,j第一个是我们的要求的式子,第二个是我们在求最短路的时候的式子,是不是可以发现这两个是惊人的相似?那么我们是不是就可以类比一下?我们把 aia_iai 类比成 disidis_idisi ,aja_jaj 类比成 disj原创 2025-03-17 17:22:13 · 906 阅读 · 0 评论 -
浅说图论基础
在学最短路算法之前,我们要先搞清楚另外一个事情,什么是图,我们又可以基于图做那些事情。图不同于树,它是一种更加复杂的数据结构,相比较于树或者数组(线性表)而言,图的关联性显然更加强。比如说,在树中,一个点只有可能和他的父亲节点和他的儿子节点有直接的联系,但是在图中,任意两个点之间都有可能会有联系,也就是说节点之间的连通性是任意的。原创 2025-03-07 15:13:22 · 1317 阅读 · 0 评论 -
浅说单调队列
单调队列(Monotonic Queue)是一种特殊的,它是一个队列,并且队列中的元素具有单调性。这种单调性可以是单调递增或者单调递减或呈现出其他的样子。例如,在一个单调递减的队列中,队首元素是队列中最大的元素,并且随着元素的入队和出队操作,队列始终保持递减的性质。原创 2024-12-13 16:21:43 · 1551 阅读 · 0 评论 -
浅说单调栈
有n个人从左到右站成一排,每个人都有一个身高,现要求所有人都向右看齐,问每个人可以看到的最远的人是哪一个?注:一个人右边第一个身高大于等于他的人会挡住这个人的视线。如果没有输出-1。n≤108对于这个题,我们很容易想出暴力的解法,但是这样写的时间复杂度是On2的,在这题的数据范围的情况下是过不了的。同时,我们也会想到从后往前维护最高身高,然后用二分的思路去找,这样是可以,时间复杂度为Onlogn但是也过不了,所以我们只能使用单调栈,一种时间复杂度为On的算法。原创 2024-11-27 18:16:55 · 1060 阅读 · 0 评论 -
细说简单简单莫队
在信竞得路上,我们时常遇到一些题目让我们求解一段区间里的颜色个数有多少啊,这个区间内的最大值是多少啊?诸如此类的问题常常让我们这些菜鸡束手无策,所以莫队算法横空出世!莫队算法是由莫涛提出的算法。在莫涛提出莫队算法之前,莫队算法已经在 Codeforces 的高手圈里小范围流传,但是莫涛是第一个对莫队算法进行详细归纳总结的人。莫涛提出莫队算法时,只分析了普通莫队算法,但是经过 OIer 和 ACMer 的集体智慧改造,莫队有了多种扩展版本,想什么待修莫队之类的。原创 2024-11-26 16:01:18 · 524 阅读 · 0 评论 -
分块——最为优雅的暴力
在信息学竞赛中,常常会遇到一些区间修改或区间查询的题目,如果直接敲暴力的话,时间复杂度是Onm可能会超时,如果写树状数组或线段树的话,又有一点复杂,不易理解,那么这时候就要请出我们今天的主角——原创 2024-11-09 18:36:54 · 1874 阅读 · 0 评论 -
质数测试——Fermat素数测试和MillerRabin素数测试
Fermat prime teat (费马素性检验)是一种素数判定法则,利用随机化算法判断一个数是合数还是可能是素数。但是这样有可能会错。Miller-Rabin prime test(米勒-拉宾素性检验)是一种素数判定法则,利用随机化算法判断一个数是合数还是可能是素数。卡内基梅隆大学的计算机系教授Gary Lee Miller首先提出了基于广义黎曼猜想的确定性算法,由于广义黎曼猜想并没有被证明,其后由以色列耶路撒冷希伯来大学的Michael O. Rabin教授作出修改,提出了不依赖于该假设的随机化算法。原创 2024-11-01 17:22:42 · 1304 阅读 · 0 评论 -
数学基础算法——质数篇
质数(英文名:Primenumber)又称素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。而大于1又不是指数的正整数称为合数(规定1既不是质数也不是合数)。原创 2024-10-25 16:48:03 · 3342 阅读 · 1 评论 -
浅说倍增算法——线性倍增
倍增,倍增,顾名思义,就是以一个数成倍的增长,这个数通常是2。当然也会有在不同的时候会以其他的数进行翻倍,比如3,8,16等等,但是都不常见。我们现在就先来讲讲倍增中的线性倍增。原创 2024-10-22 15:27:06 · 2248 阅读 · 0 评论 -
浅说差分算法(下)
二维差分是指对于一个n*m的矩阵a,要求支持操作pro(x1,y1,x2,y2,a),表示对于以(x1,y1)为左上角,(x2,y2)为右下角的矩形区域,每个元素都加上常数a。求修改后的矩阵a。原创 2024-10-21 17:20:49 · 415 阅读 · 0 评论 -
Floyd算法通讲
虽然我不知道为什么会有那么多的人在乱讲,但是我无能为力,只能尽量去讲述正确的思路。原创 2024-10-08 18:24:01 · 734 阅读 · 0 评论 -
浅说差分算法(上)
今天我们来讲讲对于数列修改的一个小技巧,原创 2024-09-25 18:23:49 · 892 阅读 · 1 评论 -
NOI大纲——提高组——最小生成树
一个图中可能存在多条相连的边,我们**一定可以从一个图中挑出一些边生成一棵树。**这仅仅是生成一棵树,还未满足最小,原创 2024-08-20 17:38:06 · 510 阅读 · 0 评论 -
NOI大纲——提高组——并查集
并查集是一种简单但非常高效的数据结构,特别适用于动态连通性问题。通过路径压缩和按秩合并这两种优化技巧,并查集能够以接近常数时间处理合并和查找操作,这在图论算法中具有广泛的应用。原创 2024-08-20 17:36:16 · 718 阅读 · 0 评论 -
NOI大纲——普及组——素数筛法
时间复杂度 O(n2)O(n^2)O(n2)2.试除法的优化时间复杂度O(n×n)O(n\times \sqrt{n})O(n×n)埃拉托色尼筛法(Eratosthenes Sieve)埃拉托色尼筛法是一种古老且高效的算法,用于找出某个范围内所有的素数。它的工作原理基于反复标记出合数(即非素数)。其核心思想如下:下面是埃拉托色尼筛法的详细步骤及代码实现:。因为如果i的值超过n\sqrt{n}n,i的倍数中最小的一个已经大于n,因此没有必要继续标记。代码实现示例假设我们要找出30以内的原创 2024-07-26 17:05:23 · 567 阅读 · 0 评论 -
NOI大纲——如何备战CSP-J(下)
请注意你是否报上了名,这是非常重要的。原创 2024-07-25 16:51:46 · 383 阅读 · 0 评论 -
NOI大纲——如何备战CSP-J(上)
首先要备战csp,你就得先确定你的csp是否报上了名,要不然就是在做无用功。原创 2024-07-13 21:51:23 · 779 阅读 · 0 评论 -
NOI大纲——普及组——辗转相除法
辗转相除法(Euclidean Algorithm)是一种用于计算两个整数的最大公约数(Greatest Common Divisor, GCD)的算法。这种方法基于一个重要的性质:两个数的最大公约数等于其中较小的数与两数之差的最大公约数。进一步简化,可以用模运算来替代减法操作。原创 2024-07-01 10:51:41 · 516 阅读 · 0 评论 -
NOI大纲——普及组——二叉搜索树
这些特点使得二叉搜索树在进行搜索、插入和删除操作时非常高效。具体来说,在平均情况下,这些操作的时间复杂度都是 (O(\log n)),其中 (n) 是树中的节点数。原创 2024-07-01 10:05:20 · 554 阅读 · 0 评论 -
NOI大纲——普及组——图的表示与存储
邻接矩阵是一种表示图(Graph)的方法,它使用一个二维矩阵来表示图中的顶点和边。邻接矩阵适用于存储稠密图(Dense Graph),因为它能够直观地展示顶点之间的连接关系。例如,考虑一个有4个顶点(0, 1, 2, 3)的无向图,边为:0-1, 0-2, 1-2, 2-3。原创 2024-07-01 09:27:09 · 1055 阅读 · 0 评论 -
NOI大纲——普及组——编码
#ASCLL码ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码)是一种基于拉丁字母的字符编码方案,主要用于表示文本数据。ASCII码包含128个字符(0-127),包括控制字符(如换行、回车等)和可打印字符(如字母、数字、标点符号等)。在C++中,字符和字符串的处理是基础编程的一个重要部分。下面是C++中与ASCII码相关的一些详细内容。原创 2024-06-30 11:54:58 · 823 阅读 · 0 评论 -
NOI大纲——普及组——位运算总结
—按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0∣——按位或两个相应的二进制位中只要有一个为1,该位的结果值为1——按位异或若参加运算的两个二进制位值相同则为0,否则为1——取反用来对一个二进制数按位取反,即将0变1,1变0。原创 2024-06-29 11:31:20 · 1028 阅读 · 0 评论 -
NOI大纲简介
昨天无意间翻了一下NOI大纲,发现有好多的知识点没有完全掌握,所以我又重新开了一个栏目,希望大家多多支持。原创 2024-06-29 11:29:13 · 292 阅读 · 0 评论
分享