刷新
国庆做题记录(基础算法)

博主头像 这篇文章信息量偏大,请谨慎阅读,注意高效利用右边的目录。 其他部分咕咕咕地更新中……敬请期待 1.1 二分 & 双指针 关联博文:Atserkcn-0/1分数规划 P1404 平均数 既然要让子串平均数最大,那就二分平均数,判断能否达到即可。复杂度 \(O(n\log V)\)。 关联题目:[202 ...

P11164 [BalkanOI 2023] Permutations

博主头像 P11164 [BalkanOI 2023] Permutations 思路 先判断是否有解。 即判断区间是否存在三元组 \((p_i,p_j,p_k)(i < j < k)\) 使得 \(p_i > p_j > p_k\);或者二元组 \((p_i,p_j)(i<j)\) 使得 \(p_i > p ...

dp 总结 1

博主头像 dp 总结 1 闲来无事, 把刚学明白的 dp 笔记整理一下. shout out to professor Adzlpxsn. 基本的, 状态, 转移, 方程 状态 一句话概况即为当前的属性. 比如说, 贝贝现在是 \(30\) 岁, 发了 \(0\) 张专辑, 我们就可以说 \(f_{30}=0 ...

哈希问题的一类技巧

博主头像 浅谈处理哈希问题的一类方法-线段树维护哈希 前言 一个初三蒟蒻粗浅的认知和总结,dalao不喜勿喷。分享的题也大都很水,仅是代表浅层理解。 简介/概括 哈希是一种常用的算法。我们在oi中使用哈希的主要目的是将难以直接处理、维护、比较的对象映射到范围小/便于维护/便于处理/便于比较的对象上。 映射的方 ...

位运算的奇技淫巧:builtin内建函数

什么是内建函数: GCC 编译器自带的内建函数。这些_builtin*形式的内建函数一般是基于不同硬件平台采用专门的硬件指令实现的,因此性能较高。 介绍一些常用的内建函数: __builtin_ctz() 返回从最低位开始(右起)的连续 0 的个数 根据数据类型不同有: int __builtin_ ...

CF455D Serega and Fun

博主头像 推歌:踊り子 洛谷传送 看起来很能分块啊!然后一个分块吧唧一下拍上去就过了。 好的我们还是来看看平衡树做法。 我们考虑每次操作是什么。发现其实是把 \(a_r\) 的位置移到了 \(a_l\) 的前面,\(a_i\sim a_{r-1}\) 内的所有元素向右平移了一格。这种平移看起来可以用平衡树维护 ...

线性结构常见应用之队列[基于郝斌课程]

博主头像 定义: 一种可以实现“先进先出”的存储结构 队列类似于排队买票 分类: 链式队列:基于列表 静态队列:基于数组 静态队列通常都必须是循环队列 静态队列为什么是循环队列? 减少对内存的浪费 用传统数组来实现队列的话,参数只能加不能减 循环队列需要几个参数来确定以及各个参数的含义 需要两个参数来确定:f ...

02-链表

博主头像 概述 链表作为 C 语言中一种基础的数据结构,在平时写程序的时候用的并不多,但在操作系统里面使用的非常多。理解链表及其在 RTOS 中的应用,这对后续深入学习 RTOS 内核机制非常重要。 一、什么是链表? 链表是一种动态数据结构,由多个「节点」通过指针连接而成。每个节点包含两部分: 数据域:存储实 ...

CF333E Summer Earnings

博主头像 推歌:Between Worlds 很有意思的题。 注意到题目其实就是选三个点使得两两之间欧几里得距离最小值最大,很容易就有 \(O(n^3)\) 做法。 常规方法是注意到本题时限极大,而最小值最大又是可以从大到小枚举最小值的,因此把所有的点对按照距离排序从大到小扫,每次就是对 \((i,j)\) ...

线性结构常见应用之栈[基于郝斌课程]

博主头像 栈的定义: 一种可以实现“先进后出”的存储结构 栈类似于箱子,先放进去的最后取出来,最后放入的先取出来 栈的分类: 静态栈的内核是数组 动态栈的内核是链表 栈的算法: 出栈 压栈 栈的应用: 函数调用 中断 表达式求值 内存分配 缓冲处理 迷宫 /* @file main.c @brief 线性结构 ...

线性结构之链表[基于郝斌课程]

博主头像 离散存储[链表]: 定义: n个结点的离散分配 彼此通过指针相连 每个结点只有一个前续结点 每个结点只有一个后续结点 首结点没有前续结点 尾结点没有后续结点 专业术语: 首结点:第一个有效结点,存放第一个有效数据 尾结点:最后一个有效结点,存放最后一个有效数据 头结点:在首结点之前的一个结点,既不存 ...

CF913G Power Substring

博主头像 推歌:SPOTLIGHT HUNTER 麦晓雯联动出了,没抽到。我爸把我 75 研究卷霍霍露娜上了导致我没法免费保底。诋毁他。 洛谷传送 说回正题。设 \(a\) 有 \(n\) 位,所求的 \(a\) 在 \(2^k\) 中距离末位的位数为 \(m\),显然 \(k\ge n+m\)。 发现很难求 ...

线性结构之数组[基于郝斌课程]

博主头像 线性结构:把所有的结点用一根线穿起来 连续存储[数组] 什么叫做数组:元素类型相同,大小相等 数组的优缺点: 优点:存取元素的效率非常高 缺点: 事先必须知道数组的长度 需要大块连续内存块 插入删除元素的效率极低 空间通常是有限制的 /* @file main.c @brief 线性结构之数组 @a ...

准备工作之动态内存分配[基于郝斌课程]

博主头像 定义一块内存可以用数组定义,也可以动态分配: 使用数组定义一块内存,则该块内存是静态的,也就是一旦定义之后,这块内存的大小就固定了,例如,数组元素个数是5,则定义后,这=这块内存大小就是5,不能再改变 但是用malloc动态分配的话,这块内存的大小就由我们自己来定义了,例如定义大小为5的内存块,使用 ...

CSP-S 2025 #1

博主头像 个人感觉比之前的简单了不少。个人估分 97~100。题面 link 然后说一下这次问题比较明显的几个题。 一个是第一篇阅读程序的第二道判断题,由于 \(n\) 的输入限制仅有“不溢出”这一条,所以可以取 \(n<0\),此时任意的 \(k\) 都不满足 \(1\le k\le n+1\)。不过我认为 ...

P7435 简单的排列计数

博主头像 推歌:Terrasphere 传送 首先没推过很多大式子的看到题面会晕,不过没事我们可以它翻译成可读题面。 对于一个排列 \({\pi_n}\),定义其一个逆序对为 \(1\le i<j\le n\) 且 \(\pi_i>\pi_j\) 的二元组 \((i,j)\),逆序对 \((i,j)\) 的权 ...

学习笔记:操作分块 / 根号重构

博主头像 感谢校内模拟赛给我强行灌输了这个东西。。。 概述 操作分块 / 根号重构,又名时间轴分块,可以解决需要多次修改和查询的问题,常常难以直接维护。 借鉴序列分块的思想,我们设定一个阈值 \(B\),将连续 \(B\) 次操作视为一块。考虑一次查询操作,将对它产生影响的修改分为两类: 所在块之前的整块的修 ...

ABC310E NAND repeatedly 题解

博主头像 https://atcoder.jp/contests/abc310/tasks/abc310_e 一个奇怪的递归式 + \(N \le 10^6\), 试试动态规划 设 \(dp_{i,j}\) 为对于所有 \(1 \le l \le i\) 满足 \(f(l, i)=j\) 的数量, 其中 \( ...

仓储物流业务字段(一)

以下是整理的100个仓储物流数据库常用字段名,分类归纳如下: 基础信息类 仓库编码(warehouse_code) 仓库名称(warehouse_name) 仓库地址(warehouse_address) 仓库类型(warehouse_type) 负责人(manager) 容量(capacity) ...

经典面试题目:二叉树遍历

博主头像 一、 核心定义与性质 二叉树(Binary Tree) 是一种每个节点最多有两个子节点的树形结构。这两个子节点通常被称为左子节点和右子节点。 关键术语: 根节点(Root): 树的顶层节点,没有父节点。 叶子节点(Leaf): 没有子节点的节点。 深度(Depth): 从根节点到该节点所经历的边的个 ...

123···21>