随笔分类 -  信息学竞赛 / 算法

各种OI方面算法
摘要:冷门科技 —— DFS 序求 LCA 转载自qAlex_Weiq的冷门科技 —— DFS 序求 LCA - qAlex_Weiq - 博客园 博客园里直接搜 dfn 序求 lca 老是找不到这篇文章,故直接转载过来,这篇初始的才是写的最好的。 正文 DFS 序求 LCA 无论是从时间常数,空间常数还 阅读全文
posted @ 2024-10-26 11:59 alloverzyt 阅读(76) 评论(0) 推荐(0)
摘要:模拟退火 必须要单独开一个专题来讲模拟退火了。 看到身边很多同学写的模退都是不标准的,步长没有随温度的降低而减小,只能叫随机爬山。 系统的学习模退是跟着 Acwing 的 yxc,他写的模退给人一看就有一种豁然开朗,神清气爽的感觉,让你惊叹天下竟然还有如此精妙的算法。 是的,优雅的模退写出来就是令人 阅读全文
posted @ 2024-07-30 14:26 alloverzyt 阅读(39) 评论(0) 推荐(0)
摘要:STL(Standard Template Library)标准模板库 是C++标准库中的一个重要组成部分,它提供了一组通用的模板类和函数,用于数据结构和算法的实现。STL的核心部分包括容器、算法和迭代器,这三者紧密结合,使得C++编程更加高效和灵活。 vector 是 C++ 标准模板库(STL) 阅读全文
posted @ 2024-07-30 08:48 alloverzyt 阅读(211) 评论(1) 推荐(0)
摘要:搜索引擎支持多种限制符,用于精确控制搜索结果。以下是一些常见的搜索引擎限制符: 1. intitle: 功能: 查找标题中包含特定关键词的页面。 示例: intitle:"人工智能" 将找到标题中包含“人工智能”的页面。 2. inurl: 功能: 查找URL中包含特定关键词的页面。 示例: inu 阅读全文
posted @ 2024-07-23 16:25 alloverzyt 阅读(318) 评论(0) 推荐(0)
摘要:今天在看题解的时候,发现了一个有意思的写法,就是在函数内直接定义一个类似函数的东西,了解了一下其实是 c++ 11 引入的 Lambda 表达式。 Lambda 表达式 ISO C++ 11 标准的一大亮点是引入 Lambda 表达式。基本语法如下: [capture list] (paramete 阅读全文
posted @ 2024-03-02 16:21 alloverzyt 阅读(27) 评论(0) 推荐(0)
摘要:专题:分层图 拖了整整一个月,我终于来学习分层图了,原因是考一道 USACO 的题正解死分层图, 秉持着竟然有用,那我就来学学的原则,学习了分层图。 纵然,这确实是个好东西,但是局限性也比较明显 ,分层图的分层的意思是把图整体复制几遍,跨层走意味着使用了一次特殊机会。 但是,显然这对数据范围有严格要 阅读全文
posted @ 2023-11-10 22:01 alloverzyt 阅读(45) 评论(0) 推荐(0)
摘要:去年就看过树链剖分的视频了,当时连树状数组,线段树都没学,对树的 dfs 也一知半解,所以基本完全听不懂。昨天又重新看了一般,感觉思路挺简单,应该比线段树简单吧,从用树链剖分求 LCA 来看确实是这样的,但是没有想到的是用线段树维护树链剖分。QAQ 这应该是我打过最长的代码吧!(3K) 树链剖分 只 阅读全文
posted @ 2023-10-14 09:35 alloverzyt 阅读(37) 评论(0) 推荐(0)
摘要:今天有空来专门总结一下代码模版,顺便定制一张代码模版鼠标垫,哦吼!!! ↑这就是预期效果啦!!! 下面开始总结算法模版: 有关统一方面的算法过多时,会自动整理成一个专题放在这里: 最短路专题 素数筛(线性筛) 时间复杂度 \(O(N)\) void primes(int n){//线性筛区间[1,n 阅读全文
posted @ 2023-10-07 19:53 alloverzyt 阅读(53) 评论(0) 推荐(0)
摘要:算法:线段树 哦吼!终于来学线段树啦~~ 拖了好久都没有敢学,主要是基础知识点不熟,代码能力太弱。但是现在已经是时候了。 来看: 线段树(Segment Tree)几乎是算法竞赛最常用的数据结构了,它主要用于维护 区间信息 (要求满足结合律)。与树状数组相比,它可以实现 \(O(log⁡\ n)\) 阅读全文
posted @ 2023-10-04 17:00 alloverzyt 阅读(56) 评论(0) 推荐(0)
摘要:虽然我很懒,但集训期间还是强迫我自己写一下博客吧! 搜索剪枝 不搜不知道,我的搜索如同一坨shift。 搜索没逻辑,剪枝随便捡,然后喜提 with return value 3221225725 P1025数的划分 非常简单的一道,数的拆分题 题目描述 将整数 \(n\) 分成 \(k\) 份,且每 阅读全文
posted @ 2023-10-01 17:04 alloverzyt 阅读(16) 评论(0) 推荐(0)
摘要:依旧,和动态规划一样,逆元这个问题一直困扰了我很久,很烦人。 阅读全文
posted @ 2023-08-05 14:40 alloverzyt 阅读(87) 评论(0) 推荐(0)
摘要:太恐怖了,今天一复习动态规划,才发现我什么都不会,0/1背包都打不出来,还学什么斜率优化DP,四边形不等式DP,学个喘喘,so scary,到头来发现自己是小白,啥都不会啊!!! 阅读全文
posted @ 2023-07-25 11:16 alloverzyt 阅读(15) 评论(0) 推荐(0)
摘要:例题:洛谷中位数 以下题解来自于 https://www.luogu.com.cn/blog/SeanMoe/solution-p1168 使用两个堆,大根堆维护较小的值,小根堆维护较大的值 即小根堆的堆顶是较大的数中最小的,大根堆的堆顶是较小的数中最大的 将大于大根堆堆顶的数(比所有大根堆中的元素 阅读全文
posted @ 2023-06-29 20:32 alloverzyt 阅读(48) 评论(0) 推荐(0)
摘要:在看完洛谷大佬的 最详细讲解 以后,我还是不能说没有完全不懂,所以干脆自己写一篇后缀数组详解,造福后人(QAQ) 本篇讲解引用例子和图片来自某不知名视频资源的大佬,如有知道大佬姓名,会立刻回来标注的。 开始之前,先要了解这些数组是干嘛的,一定要记好。 一下以长度为8的字符串aabaaaab为例子,进 阅读全文
posted @ 2023-05-02 16:19 alloverzyt 阅读(67) 评论(1) 推荐(0)
摘要:匆匆忙忙中学了很多算法,但基本都是打个板子就跑路了,有些算法有个人比较深入和独特的见解,但大部分,只是实现例题的需求,对算法的作用似懂非懂,所以写篇博客整理一下。 无旋平衡树(treap) 高级数据结构:树和堆 可以允许的操作:插入,删除,查询某数排名,查询某排名的树(第K大),求某数的前驱,后驱( 阅读全文
posted @ 2023-05-01 14:13 alloverzyt 阅读(55) 评论(0) 推荐(1)
摘要:rand()生成的伪随机数已经足够我们实用,为了跟好的理解rand()跟seed的关系,做了一些测试! rand()函数种子默认为1,在每一次程序运行中,随机数相同,在一次运行中,可将生成数看做随机 #include<bits/stdc++.h> using namespace std; int m 阅读全文
posted @ 2023-04-22 17:46 alloverzyt 阅读(26) 评论(0) 推荐(0)