算法
文章平均质量分 74
Wu_while
一名退役OIer
展开
-
Hash(哈希)选做
Hash(哈希)选做原创 2022-10-28 16:18:49 · 543 阅读 · 1 评论 -
常见时间复杂度
一、基础算法快速排序 O(nlogn)O(n\log n)O(nlogn)归并排序 O(nlogn)O(n\log n)O(nlogn)桶排序 O(n)O(n)O(n)二分 O(logn)O(\log n)O(logn)(一般情况下)倍增 O(logn)O(\log n)O(logn)DFS\text{DFS}DFS算法 一般为指数级二、字符串算法KMP\text{KMP}KMP O(m+n)O(m+n)O(m+n)Trie\text{Trie}Trie树 插入O(lens),查询原创 2021-10-18 18:38:41 · 135 阅读 · 0 评论 -
模拟退火详解
写在前面你有没有写不出正解而被迫写rand的经历?你有没有提交rand数十次却每次都在二三十分上下浮动?你有没有在提交一份rand代码之前净身更衣焚香?如果是,那么,这款模拟退火正适合你!本店开业活动为期一周,模拟退火买一送一,货到付款,逾期不候!(((模拟退火模拟退火究竟是什么呢?退火是一种金属热处理工艺,指的是将金属缓慢加热到一定温度,保持足够时间,然后以适宜速度冷却。目的是降低硬度,改善切削加工性;降低残余应力,稳定尺寸,减少变形与裂纹倾向;细化晶粒,调整组织,消除组织缺陷。准确的说原创 2021-10-14 09:31:27 · 1440 阅读 · 2 评论 -
AC自动机详解
前置芝士KMP字符串匹配算法Trie树(字典树)引入来看一道题目:(洛谷 P3808 【模板】AC自动机(简单版))给定 nnn 个模式串 sis_isi 和一个文本串 ttt,求有多少个不同的模式串在文本串里出现过。你想到了什么?KMP?KMP用来处理单模匹配问题有奇效,但是解决这道题么。。。这就要用到一种神奇 难 的算法:AC自动机了!(充满诱惑力的名字)AC自动机Aho-Corasick automaton,该算法在1975年产生于贝尔实验室,是著名的多模匹配算法。——百原创 2021-08-11 21:46:49 · 298 阅读 · 2 评论 -
单调队列优化DP
一、单调队列单调队列,即单调递减或单调递增的队列。使用频率不高,但在有些程序中会有非同寻常的作用。——百度百科重点在哪里?使用频率不高 单调递减或单调递增的队列。单调队列是一个双端队列,一般来说队尾用于维护单调性,队头用于保持队列大小。单调队列有两个性质:队列中的元素在原来列表中的顺序是单调递增的。队列中的元素大小是单调递增或递减。二、实现我们将单调队列看做是一个大小一定的窗口,在列表中滑动,维护以上两个性质。我们将单调队列的维护分为两步:维护队尾。比较列表当中的当前元素与原创 2021-07-21 20:47:06 · 588 阅读 · 0 评论 -
数位DP详解
好难啊一、概念数位DP,顾名思义,就是在数位上进行DP,对于一类“在区间[l,r][l,r][l,r]内求满足条件的数的个数”的问题,显然,进行O(n)的枚举是不存在的,这时我们就要使用数位DP,在[l,r][l,r][l,r]范围内进行满足条件的数的构造。二、实现直接上例题。。。洛谷 P2602看一看数据范围:1≤a≤b≤10121≤a≤b≤10^{12}1≤a≤b≤1012于是考虑数位DP。我们要分别求出[1,b][1,b][1,b]和[1,a−1][1,a-1][1,a−1]中满足条原创 2021-07-21 20:06:21 · 822 阅读 · 0 评论 -
Hash(字符串哈希)
Hash,一般翻译做散列、杂凑,或音译为哈希,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。#include<iostream>#include<cstdio>#include<vector>#inc.原创 2021-06-13 15:40:35 · 105 阅读 · 0 评论