7月前查看 4 条
离散化

例题 分析 离散化事实上就是当这个数据范围比较大的时候但是能用到的数比较少的时候需要用到的算法。就比如这个题,a_i 和 b_i 的数据范围超大但 n 的数据范围只有 2\times 10^5。这个时候我们可以将其压缩,使得所有内容之间没有空位。 以样例为例,实现如下图:

区间问题 7月前查看 评论
区间问题

线性差分:植树节 题目描述 植树节快要到了,学校要组织志愿者去给树苗浇水。 有一排树苗,编号依次是 0, 1, 2, ... 。 现有 n 个志愿者去给树苗浇水,第 i 个志愿者选定了一个区间 [a_i, b_i],表示第 i 个志愿者将区间 [a_i, b_i] 内的每一棵树都浇一次水。 例如某个

8月前查看 评论
[ABC378C] Repeating 题解

[ABC378C] Repeating 题解 解题思路 我们需要为每个 A_i 找到它在序列 A 中上一次出现的位置。你可能第一想法是使用桶来进行记录当前数在此之前的位置是什么。普通的桶在这一题显然是开不了的,因为数据量达到了 10^9。但其实使用map进行存储也同样可以通过本题。用map的思路比较

Sakurako 和 Water 题解 8月前查看 评论
Sakurako 和 Water 题解

问题概述 因为题面翻译很清楚且题面容易理解,在这里就不再解释了。 解题思路 读完题后,先看时间复杂度,再选择实现方法。一看 n\le500 ,直接 n^2 暴力就可以了。下面将具体讲解实现方法。 对角线独立处理: 矩阵中的每条主对角线可以单独进行操作,因为一次操作只影响一个正方形区域内的主对角线。

【分块】算法专题 8月前查看 评论
【分块】算法专题

分块 此文章列出了几种分块的常见用法涉及的模板题目和代码,便于理解和复习分块算法。 数列分块入门 1 【区间加法+单点查询】 题面 题目描述 给出一个长为 n 的数列,以及 n 个操作,操作涉及区间加法,单点查值。 输入格式 第一行输入一个数字 n。 第二行输入 n 个数字,

Sharky的刷牙大冒险 9月前查看 评论
Sharky的刷牙大冒险

🦈Sharky的刷牙大冒险(GPT-4o with canvas 编写) 🦈Sharky的使命 🦈Sharky是一只超级英雄🐟,专门帮助🌊里的生物保持🦷健康。Sharky知道,健康洁白的🦷不仅对每个海洋生物的日常生活非常重要,还能提升它们的整体幸福感。因此,每天早晨他都会巡游整个🌊,

Labyrinth 10月前查看 评论
Labyrinth

题目:Labyrinth 题目描述: 你正在玩一款电脑游戏。在其中一关,你位于一个 n 行 m 列的迷宫。每个格子要么是可以通过的空地,要么是障碍。迷宫的起点位于第 r 行第 c 列。你每一步可以向上、下、左、右中的一个方向移动一格,前提是那一格不是障碍。你无法越出迷宫的边界。不幸的是,你的键盘快坏

奇怪的电梯 10月前查看 评论
奇怪的电梯

题目:奇怪的电梯 题目描述: 假设一栋大楼有一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i 层楼(1 \leq i \leq N)上有一个数字 K_i(0 \leq K_i \leq N)。电梯只有四个按钮:开、关、上、下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的