自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 手搓小根堆

输入一个长度为 n 的整数数列,从小到大输出前 m 小的数。

2024-05-19 20:04:57 314

原创 组合数%%%%

给定 n组询问,每组询问给定两个整数 a,b,请你输出 Cbamod(109+7) 的值。

2024-05-19 17:16:22 147

原创 单调队列实现滑动窗口

给定一个大小为 n≤1e6 的数组。有一个大小为 𝑘 的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到 k 个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为,k𝑘 为 3。你的任务是确定滑动窗口位于每个位置时,窗口中的最大值和最小值。

2024-05-16 15:51:08 268

原创 单链表与双链表

现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。:题目中第 k 个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了 n 个数,则按照插入的时间顺序,这 n 个数依次为:第 1个插入的数,第 2 个插入的数,…第 n 个插入的数。

2024-05-14 17:08:00 703

原创 记忆化搜索

901. 滑雪给定一个 R行 𝐶 列的矩阵,表示一个矩形网格滑雪场。矩阵中第 𝑖 行第 𝑗 列的点表示滑雪场的第 i 行第 j 列区域的高度。一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域的高度。在给定矩阵中,一条可行的滑行轨迹为 24−17−2−1。在给定矩阵中,最长的滑行轨迹为 25−24−23−…−3−2−1,沿途共经过 2525 个区域。

2024-05-11 16:48:47 230

原创 区间DP详解

设有 N𝑁 堆石子排成一排,其编号为 1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N 堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有 44 堆石子分别为1 3 5 2, 我们可以先合并 1、2 堆,代价为 4,得到4 5 2, 又合并 1、2 堆,代价为 9,得到9 2,再合并得到 11,总代价为 4+9+11=24;

2024-05-01 16:46:01 10

原创 线性DP详解

给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。

2024-04-25 15:45:55 343

原创 背包问题详解

有 N件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。

2024-04-18 17:11:16 411

原创 P1101 单词方阵

给一 n*n的字母方阵,内可能蕴含多个 `yizhong` 单词。单词在方阵中是沿着同一方向连续摆放的。摆放可沿着 8个方向的任一方向,同一单词摆放时不再改变方向,单词与单词之间可以交叉,因此有可能共用字母。输出时,将不是单词的字母用 `*` 代替,以突出显示单词。第二行开始输入 n*n 的字母矩阵。突出显示单词的 n*n 矩阵。第一行输入一个数 n。### 样例输入 #1。### 样例输出 #1。### 样例输入 #2。### 样例输出 #2。

2024-04-17 20:03:34 417

原创 dijkstra最短路算法模板

【代码】dijkstra最短路算法模板。

2024-04-08 20:52:18 272

原创 P1162 填涂颜色

解题思路:扫外面零变成3,最后在遍历。### 样例输入 #1。### 样例输出 #1。

2024-04-07 23:05:55 498

原创 P2036 [COCI2008-2009 #2] PERKET(DFS)

对于每一种配料,我们知道它们各自的酸度 s 和苦度 b。当我们添加配料时,总的酸度为每一种配料的酸度总乘积;总的苦度为每一种配料的苦度的总和。接下来 n行,每行 2 个整数 s[i] 和 b[i],表示第 i种食材的酸度和苦度。众所周知,美食应该做到口感适中,所以我们希望选取配料,以使得酸度和苦度的绝对差最小。一行一个整数,表示可能的总酸度和总苦度的最小绝对差。### 样例输入 #1。### 样例输出 #1。### 样例输入 #2。### 样例输出 #2。### 样例输入 #3。### 样例输出 #3。

2024-04-06 20:40:56 224

原创 P2404 自然数的拆分问题

任何一个大于 1 的自然数 n,总可以拆分成若干个小于 n 的自然数之和。现在给你一个自然数 n,要求你求出 n 的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。

2024-04-03 00:04:21 355

原创 P1605 迷宫(DFS)

第二行为四个正整数 SX,SY,FX,FY,SX,SY 代表起点坐标,FX,FY 代表终点坐标。给定起点坐标和终点坐标,每个方格最多经过一次,问有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。给定一个 N×M 方格的迷宫,迷宫里有 T 处障碍,障碍处不可通过。第一行为三个正整数 N,M,T,分别表示迷宫的长宽和障碍总数。接下来 T 行,每行两个正整数,表示障碍点的坐标。输出从起点坐标到终点坐标的方案总数。

2024-04-02 17:16:42 523

原创 P1135 奇怪的电梯(DFS or BFS)

呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第 i 层楼(1≤i≤N)上有一个数字 Ki​(0≤Ki​≤N)。电梯只有四个按钮:开,关,上,下。例如: 3,3,1,2,53,3,1,2,5 代表了 Ki​(K1​=3,K2​=3,……),从 1 楼开始。在 1 楼,按“上”可以到 4 楼,按“下”是不起作用的,因为没有 −2 楼?第一行为三个用空格隔开的正整数,表示 N,A,B(1≤N≤200,1≤A,B≤N)一行,即最少按键次数,若无法到达,则输出。

2024-04-01 23:40:05 1287

原创 走迷宫(BFS)

给定一个 n×m的二维整数数组,用来表示一个迷宫,数组中只包含 0 或 1,其中 0 表示可以走的路,1 表示不可通过的墙壁。最初,有一个人位于左上角 (1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角 (n,m)处,至少需要移动多少次。数据保证 (1,1) 处和 (n,m) 处的数字为 0,且一定至少存在一条通路。

2024-04-01 17:05:02 410

原创 数组模拟队列

现在要对队列进行 M 个操作,其中的每个操作 3 和操作 4 都要输出相应的结果。通常用一个数组模拟一个队列,用两个变量标记队列的首尾。接下来 M行,每行包含一个操作命令,操作命令为。操作的查询结果为一个整数,表示队头元素的值。操作都要输出一个查询结果,每个结果占一行。第一行包含整数 M,表示操作次数。

2024-03-30 20:58:17 311

原创 P1219 [USACO1.5] 八皇后 Checker Challenge(DFS)

一个如下的 6×6的跳棋棋盘,有六个棋子被放置在棋盘上,使得每行、每列有且只有一个,每条对角线(包括两条主对角线的所有平行线)上至多有一个棋子。前三行为前三个解,每个解的两个数字之间用一个空格隔开。第四行只有一个数字,表示解的总数。这只是棋子放置的一个解。请编一个程序找出所有棋子放置的解。并把它们以上面的序列方法输出,解按字典顺序排列。一行一个正整数 n,表示棋盘是 n×n 大小的。对于 100%100% 的数据,6≤n≤13。最后一行是解的总个数。行号 1 2 3 4 5 6。

2024-03-29 20:24:12 213 1

原创 n皇后问题(DFS)

n皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 n,请你输出所有的满足条件的棋子摆法。

2024-03-29 17:36:27 444 1

原创 DFS(全排列)

给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。

2024-03-28 20:47:51 350

原创 P1638 逛画展(双指针算法)

游客在购买门票时必须说明两个数字,a和 b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a,b)之间的所有图画,而门票的价钱就是一张图画一元。- 对于 100% 的数据,有 1\leq n\le10^6,1 \leq a_i \leq m\le2\times10^3。第一行两个整数 n,m,分别表示博览馆内的图画总数及这些图画是由多少位名师的画所绘画的。- 对于 60% 的数据,有 n\le10^5,m\le10^3。- 对于 30% 的数据,有 n\le200,m\le20。一行两个整数 a,b。

2024-03-28 19:30:01 705

原创 并查集(反集)进阶 P1892 [BOI2003] 团伙

现在有 n 个人,他们之间有两种关系:朋友和敌人。现在要对这些人进行组团。两个人在一个团体内当且仅当这两个人是朋友。请求出这些人中最多可能有的团体数。

2024-03-25 20:27:23 223

原创 一个人能走多远不在于他在顺境时能走多快,而在于他在逆境时多久能找到曾经的自己。 ----KMP

KMP算法核心是找到最长前缀后缀相等值,然后回溯找到曾经的自己。给定一个字符串 S,以及一个模式串 P,所有字符串中只包含大小写英文字母以及阿拉伯数字。模式串 P 在字符串 S 中多次作为子串出现。求出模式串 P 在字符串 S 中所有出现的位置的起始下标。

2024-03-22 20:06:04 277

原创 食物链(并查集)

动物王国中有三类动物 A,B,C这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。现有 N� 个动物,以 1∼N1∼� 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 N个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示 X和 Y 是同类。第二种说法是2 X Y,表示 X吃 Y。此人对 N个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。

2024-03-21 20:29:23 453 1

原创 并查集(很难搞的数据结构)

是一种用于管理元素所属集合的数据结构,实现为一个森林,其中每棵树表示一个集合,树中的节点表示对应集合中的元素。并查集在经过修改后可以支持单个元素的删除、移动;使用动态开点线段树还可以实现可持久化并查集。路径压缩。

2024-03-19 23:16:29 815 2

原创 洛谷 P1873 [COCI 2011/2012 #5] EKO / 砍树 (二分)

Mirko 的伐木机工作流程如下:Mirko 设置一个高度参数 H(米),伐木机升起一个巨大的锯片到高度 H,并锯掉所有树比 H 高的部分(当然,树木不高于 H 米的部分保持不变)。例如,如果一排树的高度分别为 20,15,10 和 17,Mirko 把锯片升到 15 米的高度,切割后树木剩下的高度将是 15,15,10 和 15,而 Mirko 将从第 1 棵树得到 5 米,从第 $4$ 棵树得到 2 米,共得到 7 米木材。换句话说,如果再升高 1 米,他将得不到 M 米木材。### 样例输入 #1。

2024-03-17 20:42:14 243 1

原创 二维差分详解(二维前缀和模板题)

输入一个 n行 m列的整数矩阵,再输入 q个操作,每个操作包含五个整数 x1,y1,x2,y2,c1,其中 (x1,y1)和 (x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 c。请你将进行完所有操作后的矩阵输出。

2024-03-15 21:25:53 193 1

原创 洛谷 P2004领地选择

作为在虚拟世界里统帅千军万马的领袖,小 Z 认为天时、地利、人和三者是缺一不可的,所以,谨慎地选择首都的位置对于小 Z 来说是非常重要的。小 Z 希望你寻找到一个合适的位置,使得首都所占领的位置的土地价值和最高。对于 %100 的数据,1\le N,M\le 10^3,1\le C\le \min(N,M)。第一行三个整数 N,M,C,表示地图的宽和长以及首都的边长。对于 %60 的数据,N,M\le 50。对于 %90的数据,N,M\le 300。### 样例输入 #1。### 样例输出 #1。

2024-03-15 14:44:36 215 1

原创 逆转字符串(很关键)

【代码】逆转字符串(很关键)

2024-03-14 22:46:47 293

原创 set容器详解

平衡二叉树 的特性使得 set 非常适合处理需要同时兼顾查找、插入与删除的情况。和数学中的集合相似,set 中不会出现值相同的元素。multiset 的使用方法与 set 的使用方法基本相同。返回指向首个不小于给定键的元素的迭代器。如果不存在这样的元素,返回 end()。在 set 内存在键为 x 的元素时会返回该元素的迭代器,否则返回 end()。返回指向首个大于给定键的元素的迭代器。当容器中没有等价元素的时候,将元素 x 插入到 set 中。删除值为 x 的 所有 元素,返回删除元素的个数。

2024-03-14 22:31:56 403

原创 二维前缀和详解

为了更好的备战 NOIP2013,电脑组的几个女孩子 LYQ,ZSC,ZHQ 认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑组的课余运动场地,听说她们都是电脑组的高手,校长没有马上答应他们,而是先给她们出了一道数学题,并且告诉她们:你们能获得的运动场地的面积就是你们能找到的这个最大的数字。几个女孩子有点犯难了,于是就找到了电脑组精打细算的 HZH,TZY 小朋友帮忙计算,但是遗憾的是他们的答案都不一样,涉及土地的事情我们可不能含糊,你能帮忙计算出校长所给的矩形中加权和最大的矩形吗?

2024-03-14 21:05:42 382

原创 单调栈详解

【代码】单调栈详解。

2024-03-11 15:19:42 140

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除