简单算法
文章平均质量分 77
无
铁头娃撞碎南墙
Get busy living or get busy dying.
展开
-
约数、最大公约数
1. 约数约数,又称因数。整数 aaa 除以整数 b(b≠0)b(b≠0)b(b=0) 除得的商正好是整数而没有余数,我们就说 aaa 能被 bbb 整除,或 bbb 能整除aaa。aaa 称为 bbb 的倍数,bbb 称为 aaa 的约数。2. 试除法求约数试除法求约数的原理和试除法判断质数的原理基本一致,但是注意求约数的时候要从 111 开始,时间复杂度是 O(sqrt(n))O(sqrt(n))O(sqrt(n))。#include <iostream>#include &原创 2021-09-01 17:56:42 · 174 阅读 · 0 评论 -
质数、分解质因数、质数筛
1. 质数的定义质数:在大于1的整数中,如果某一个数仅仅包含1和其本身这两个约数,则称这个数为质数,或者叫素数。2. 质数的判断—试除法首先,有一种从其定义出发的判定方法,时间复杂度是 O(n)O(n)O(n)。bool is_prime(int x){ if (x < 2) return false; for (int i = 2; i < x; i ++ ) if (x % i == 0) return false; return true;}但是,我们可以发原创 2021-09-01 11:57:15 · 309 阅读 · 0 评论 -
AcWing 859. Kruskal算法求最小生成树
题目来源:AcWing 859. Kruskal算法求最小生成树一、题目描述给定一个 nnn 个点 mmm 条边的无向图,图中可能存在重边和自环,边权可能为负数。求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。给定一张边带权的无向图 G=(V,E)G=(V,E)G=(V,E),其中 VVV 表示图中点的集合,EEE 表示图中边的集合,n=∣V∣n=|V|n=∣V∣,m=∣E∣m=|E|m=∣E∣。由 VVV 中的全部 nnn 个顶点和 EEE 中 n−1n−1n−1原创 2021-08-15 11:25:10 · 599 阅读 · 0 评论 -
AcWing 858. Prim算法求最小生成树
题目来源:AcWing 858. Prim算法求最小生成树一、题目描述给定一个 nnn 个点 mmm 条边的无向图,图中可能存在重边和自环,边权可能为负数。求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。给定一张边带权的无向图 G=(V,E)G=(V,E)G=(V,E),其中 VVV 表示图中点的集合,EEE 表示图中边的集合,n=∣V∣n=|V|n=∣V∣,m=∣E∣m=|E|m=∣E∣。由 VVV 中的全部 nnn 个顶点和 EEE 中 n−1n−1n−1 条边构原创 2021-08-15 10:03:09 · 538 阅读 · 0 评论 -
AcWing 854. Floyd求最短路
题目来源:AcWing 854. Floyd求最短路一、题目描述给定一个 nnn 个点 mmm 条边的有向图,图中可能存在重边和自环,边权可能为负数。再给定 kkk 个询问,每个询问包含两个整数 xxx 和 yyy,表示查询从点 xxx 到点 yyy 的最短距离,如果路径不存在,则输出 impossible。数据保证图中不存在负权回路。输入格式第一行包含三个整数 n,m,kn,m,kn,m,k。接下来 mmm 行,每行包含三个整数 x,y,zx,y,zx,y,z,表示存在一条从点 xxx 到点原创 2021-08-13 21:09:08 · 142 阅读 · 0 评论 -
AcWing 852. spfa判断负环
题目来源:AcWing 852. spfa判断负环一、题目描述给定一个 nnn 个点 mmm 条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你判断图中是否存在负权回路。输入格式第一行包含整数 nnn 和 mmm。接下来 mmm 行每行包含三个整数 x,y,zx,y,zx,y,z,表示存在一条从点 xxx 到点 yyy 的有向边,边长为 zzz。输出格式如果图中存在负权回路,则输出 Yes,否则输出 No。数据范围1≤n≤2000,1≤n≤2000,1≤n≤2000,1≤m≤原创 2021-08-13 20:48:27 · 371 阅读 · 0 评论 -
AcWing 851. spfa求最短路
题目来源:AcWing 851. spfa求最短路一、题目描述给定一个 nnn 个点 mmm 条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你求出 111 号点到 nnn 号点的最短距离,如果无法从 111 号点走到 nnn 号点,则输出 impossible。数据保证不存在负权回路。输入格式第一行包含整数 nnn 和 mmm。接下来 mmm 行每行包含三个整数 x,y,zx,y,zx,y,z,表示存在一条从点 xxx 到点 yyy 的有向边,边长为 zzz。输出格式输出一个整原创 2021-08-13 18:23:41 · 249 阅读 · 0 评论 -
AcWing 853. 有边数限制的最短路
题目来源:AcWing 853. 有边数限制的最短路一、题目描述给定一个 nnn 个点 mmm 条边的有向图,图中可能存在重边和自环, 边权可能为负数。请你求出从 111 号点到 nnn 号点的最多经过 kkk 条边的最短距离,如果无法从 111 号点走到 nnn 号点,输出 impossible。注意:图中可能 存在负权回路 。输入格式第一行包含三个整数 n,m,kn,m,kn,m,k。接下来 mmm 行,每行包含三个整数 x,y,zx,y,zx,y,z,表示存在一条从点 xxx 到点 yy原创 2021-08-13 16:46:27 · 1037 阅读 · 0 评论 -
AcWing 849. Dijkstra求最短路 I
题目来源:AcWing 849. Dijkstra求最短路 I一、题目描述给定一个 nnn 个点 mmm 条边的有向图,图中可能存在重边和自环,所有边权均为正值。请你求出 111 号点到 nnn 号点的最短距离,如果无法从 111 号点走到 nnn 号点,则输出 −1−1−1。输入格式第一行包含整数 nnn 和 mmm。接下来 mmm 行每行包含三个整数 x,y,zx,y,zx,y,z,表示存在一条从点 xxx 到点 yyy 的有向边,边长为 zzz。输出格式输出一个整数,表示 111 号点原创 2021-08-12 20:07:35 · 1355 阅读 · 0 评论 -
AcWing 848. 有向图的拓扑序列
题目来源:AcWing 848. 有向图的拓扑序列一、题目描述给定一个 nnn 个点 mmm 条边的有向图,点的编号是 111 到 nnn,图中可能存在重边和自环。请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1−1−1。若一个由图中所有点构成的序列 AAA 满足:对于图中的每条边 (x,y)(x,y)(x,y),xxx 在 AAA 中都出现在 yyy 之前,则称 AAA 是该图的一个拓扑序列。输入格式第一行包含两个整数 nnn 和 mmm。接下来 mmm 行,每行包含两个整原创 2021-08-12 18:11:56 · 773 阅读 · 0 评论 -
AcWing 847. 图中点的层次
题目来源:AcWing 847. 图中点的层次一、题目描述给定一个 nnn 个点 mmm 条边的有向图,图中可能存在重边和自环。所有边的长度都是 111,点的编号为 1∼n1∼n1∼n。请你求出 111 号点到 nnn 号点的最短距离,如果从 111 号点无法走到 nnn 号点,输出 −1−1−1。输入格式第一行包含两个整数 nnn 和 mmm。接下来 mmm 行,每行包含两个整数 aaa 和 bbb,表示存在一条从 aaa 走到 bbb 的长度为 111 的边。输出格式输出一个整数,表示原创 2021-08-12 16:41:01 · 313 阅读 · 0 评论 -
AcWing 846. 树的重心
文章目录一、题目描述二、算法思路2.1 树和图的存储方式2.2 树和图的遍历2.3 本题思路三、代码题目来源:AcWing 846. 树的重心一、题目描述给定一颗树,树中包含 nnn 个结点(编号 1∼n1∼n1∼n)和 n−1n−1n−1 条无向边。请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中结点数量的最大值最小,那么这个节点被称为树的重心。输入格式第一行包含整数 nnn,表示树的结点数。接下来原创 2021-08-12 12:16:41 · 254 阅读 · 0 评论 -
AcWing 845. 八数码
在一个 3×33×33×3 的网格中,1∼81∼81∼8 这 888 个数字和一个 xxx 恰好不重不漏地分布在这 3×33×33×3 的网格中。例如:1 2 3x 4 67 5 8在游戏过程中,可以把 x 与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 x例如,示例中图形就可以通过让 x 先后与右、下、右三个方向的数字交换成功得到正确排列。交换过程如下:1 2 3 1 2 3原创 2021-08-11 21:30:24 · 138 阅读 · 0 评论 -
AcWing 844. 走迷宫
题目来源:AcWing 844. 走迷宫一、题目描述给定一个 n×mn×mn×m 的二维整数数组,用来表示一个迷宫,数组中只包含 000 或 111,其中 000 表示可以走的路,111 表示不可通过的墙壁。最初,有一个人位于左上角 (1,1)(1,1)(1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。请问,该人从左上角移动至右下角 (n,m)(n,m)(n,m) 处,至少需要移动多少次。数据保证 (1,1)(1,1)(1,1) 处和 (n,m)(n,m)(n,m) 处的数原创 2021-08-11 21:19:42 · 140 阅读 · 0 评论 -
AcWing 843. n-皇后问题
题目来源:AcWing 843. n-皇后问题一、题目描述nnn− 皇后问题是指将 nnn 个皇后放在 n×nn×nn×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。现在给定整数 nnn,请你输出所有的满足条件的棋子摆法。输入格式共一行,包含整数 nnn。输出格式每个解决方案占 nnn 行,每行输出一个长度为 nnn 的字符串,用来表示完整的棋盘状态。其中 . 表示某一个位置的方格状态为空,Q 表示某一个位置的方格上摆着皇后。每个方案输原创 2021-08-11 20:43:29 · 93 阅读 · 0 评论 -
AcWing 842. 排列数字
题目来源:AcWing 842. 排列数字一、题目描述给定一个整数 nnn,将数字 1∼n1∼n1∼n 排成一排,将会有很多种排列方法。现在,请你按照字典序将所有的排列方法输出。输入格式共一行,包含一个整数 nnn。输出格式按字典序输出所有排列方案,每个方案占一行。数据范围1≤n≤71≤n≤71≤n≤7输入样例:3输出样例:1 2 31 3 22 1 32 3 13 1 23 2 1二、实现代码题目比较简单,直接上代码。#include <iostream原创 2021-08-11 18:13:56 · 144 阅读 · 0 评论 -
AcWing 841. 字符串哈希
题目来源:AcWing 841. 字符串哈希一、题目描述给定一个长度为 nnn 的字符串,再给定 mmm 个询问,每个询问包含四个整数 l1,r1,l2,r2l1,r1,l2,r2l1,r1,l2,r2,请你判断 [l1,r1][l1,r1][l1,r1] 和 [l2,r2][l2,r2][l2,r2] 这两个区间所包含的字符串子串是否完全相同。字符串中只包含大小写英文字母和数字。输入格式第一行包含整数 nnn 和 mmm,表示字符串长度和询问次数。第二行包含一个长度为 nnn 的字符串,字符串原创 2021-08-09 11:16:24 · 176 阅读 · 0 评论 -
AcWing 840. 模拟散列表
题目来源:AcWing 840. 模拟散列表一、题目描述维护一个集合,支持如下几种操作:I x,插入一个数 xxx;Q x,询问数 xxx 是否在集合中出现过;现在要进行 NNN 次操作,对于每个询问操作输出对应的结果。输入格式第一行包含整数 NNN,表示操作数量。接下来 NNN 行,每行包含一个操作指令,操作指令为 I x,Q x 中的一种。输出格式对于每个询问指令 Q x,输出一个询问结果,如果 xxx 在集合中出现过,则输出 Yes,否则输出 No。每个结果占一行。数据范围原创 2021-08-08 22:18:02 · 815 阅读 · 1 评论 -
AcWing 839. 模拟堆
题目来源:AcWing 839. 模拟堆一、题目描述维护一个集合,初始时集合为空,支持如下几种操作:I x,插入一个数 xxx;PM,输出当前集合中的最小值;DM,删除当前集合中的最小值(数据保证此时的最小值唯一);D k,删除第 kkk 个插入的数;C k x,修改第 kkk 个插入的数,将其变为 xxx;现在要进行 NNN 次操作,对于所有第 222 个操作,输出当前集合的最小值。输入格式第一行包含整数 NNN。接下来 NNN 行,每行包含一个操作指令,操作指令为 I x,PM原创 2021-08-08 17:49:27 · 826 阅读 · 0 评论 -
AcWing 838. 堆排序
题目来源:AcWing 838. 堆排序一、题目描述输入一个长度为 nnn 的整数数列,从小到大输出前 mmm 小的数。输入格式第一行包含整数 nnn 和 mmm。第二行包含 nnn 个整数,表示整数数列。输出格式共一行,包含 mmm 个整数,表示整数数列中前 mmm 小的数。数据范围1≤m≤n≤105,1≤m≤n≤10^5,1≤m≤n≤105,1≤1≤1≤数列中元素≤109≤10^9≤109输入样例:5 34 5 1 3 2输出样例:1 2 3二、堆堆是一棵完全二叉树原创 2021-08-08 12:24:08 · 172 阅读 · 0 评论 -
AcWing 240. 食物链
题目来源:AcWing 240. 食物链一、题目描述动物王国中有三类动物 AAA,BBB,CCC,这三类动物的食物链构成了有趣的环形。AAA 吃 BBB,BBB 吃 CCC,CCC 吃 AAA。现有 NNN 个动物,以 111∼NNN 编号。每个动物都是 AAA,BBB,CCC 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 NNN 个动物所构成的食物链关系进行描述:第一种说法是 1 X Y,表示 XXX 和 YYY 是同类。第二种说法是 2 X Y,表示 XXX 吃 YYY。原创 2021-08-07 22:21:50 · 211 阅读 · 0 评论 -
AcWing 837. 连通块中点的数量
题目来源:AcWing 837. 连通块中点的数量一、题目描述给定一个包含 nnn 个点(编号为 111∼nnn)的无向图,初始时图中没有边。现在要进行 mmm 个操作,操作共有三种:C a b,在点 aaa 和点 bbb 之间连一条边,aaa 和 bbb 可能相等;Q1 a b,询问点 aaa 和点 bbb 是否在同一个连通块中,aaa 和 bbb 可能相等;Q2 a,询问点 aaa 所在连通块中点的数量;输入格式第一行输入整数 nnn 和 mmm。接下来 mmm 行,每行包含一个操作指原创 2021-08-07 12:59:34 · 109 阅读 · 0 评论 -
AcWing 836. 合并集合
题目来源:AcWing 836. 合并集合一、题目描述一共有 nnn 个数,编号是 1∼n1∼n1∼n,最开始每个数各自在一个集合中。现在要进行 mmm 个操作,操作共有两种:M a b,将编号为 aaa 和 bbb 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;Q a b,询问编号为 aaa 和 bbb 的两个数是否在同一个集合中;输入格式第一行输入整数 nnn 和 mmm。接下来 mmm 行,每行包含一个操作指令,指令为 M a b 或 Q a b 中的一种。原创 2021-08-07 11:43:52 · 504 阅读 · 0 评论 -
AcWing 143. 最大异或对
题目来源:AcWing 143. 最大异或对一、题目描述在给定的 NNN 个整数 A1,A2……ANA_1,A_2……A_NA1,A2……AN 中选出两个进行 xorxorxor(异或)运算,得到的结果最大是多少?输入格式第一行输入一个整数 NNN。第二行输入 NNN 个整数 A1~ANA_1~A_NA1~AN。输出格式输出一个整数表示答案。数据范围1≤N≤105,1≤N≤10^5,1≤N≤105,0≤Ai<2310≤A_i<2^{31}0≤Ai<231输原创 2021-08-06 17:40:52 · 823 阅读 · 0 评论 -
AcWing 835. Trie字符串统计
题目来源:AcWing 835. Trie字符串统计一、题目描述维护一个字符串集合,支持两种操作:I x 向集合中插入一个字符串 xxx;Q x 询问一个字符串在集合中出现了多少次。共有 NNN 个操作,输入的字符串总长度不超过 10510^5105,字符串仅包含小写英文字母。输入格式第一行包含整数 NNN,表示操作数。接下来 NNN 行,每行包含一个操作指令,指令为 I x 或 Q x 中的一种。输出格式对于每个询问指令 Q x,都要输出一个整数作为结果,表示 xxx 在集合中出现原创 2021-08-06 12:28:47 · 314 阅读 · 0 评论 -
AcWing 831. KMP字符串
题目来源:AcWing 831. KMP字符串一、题目描述给定一个模式串 SSS,以及一个模板串 PPP,所有字符串中只包含大小写英文字母以及阿拉伯数字。模板串 PPP 在模式串 SSS 中多次作为子串出现。求出模板串 PPP 在模式串 SSS 中所有出现的位置的起始下标。输入格式第一行输入整数 NNN,表示字符串 PPP 的长度。第二行输入字符串 PPP。第三行输入整数 MMM,表示字符串 SSS 的长度。第四行输入字符串 SSS。输出格式共一行,输出所有出现位置的起始下标(下标从原创 2021-08-05 18:32:49 · 750 阅读 · 1 评论 -
AcWing 154. 滑动窗口
题目来源:AcWing 154. 滑动窗口一、题目描述给定一个大小为 n≤106n≤10^6n≤106 的数组。有一个大小为 kkk 的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到 kkk 个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为 [1 3 -1 -3 5 3 6 7],kkk 为 333。窗口位置最小值最大值[1 3 -1] -3 5 3 6 7-131 [3 -1 -3] 5 3 6 7-3原创 2021-08-04 22:54:14 · 708 阅读 · 0 评论 -
AcWing 830. 单调栈
题目来源:AcWing 830. 单调栈一、题目描述给定一个长度为 NNN 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1−1−1。输入格式第一行包含整数 NNN,表示数列长度。第二行包含 NNN 个整数,表示整数数列。输出格式共一行,包含 NNN 个整数,其中第 iii 个数表示第 iii 个数的左边第一个比它小的数,如果不存在则输出 −1−1−1。数据范围1≤N≤1051≤N≤10^51≤N≤1051≤数列中元素≤1091≤数列中元素≤10^91≤数列中元素≤10原创 2021-08-04 18:21:08 · 426 阅读 · 0 评论 -
AcWing 829. 模拟队列
题目来源:AcWing 829. 模拟队列一、题目描述实现一个队列,队列初始为空,支持四种操作:push x – 向队尾插入一个数 xxx;pop – 从队头弹出一个数;empty – 判断队列是否为空;query – 查询队头元素。现在要对队列进行 MMM 个操作,其中的每个操作 333 和操作 444 都要输出相应的结果。输入格式第一行包含整数 MMM,表示操作次数。接下来 MMM 行,每行包含一个操作命令,操作命令为 push x,pop,empty,query 中的一种。输原创 2021-08-04 11:31:13 · 388 阅读 · 0 评论 -
AcWing 3302. 表达式求值
题目来源:AcWing 3302. 表达式求值一、题目描述给定一个表达式,其中运算符仅包含 +,-,*,/(加 减 乘 整除),可能包含括号,请你求出表达式的最终值。注意:数据保证给定的表达式合法。题目保证符号 - 只作为减号出现,不会作为负号出现,例如,-1+2,(2+2)*(-(1+1)+2) 之类表达式均不会出现。题目保证表达式中所有数字均为正整数。题目保证表达式在中间计算过程以及结果中,均不超过 231−12^{31}−1231−1。题目中的整除是指向 000 取整,也就是说对于大原创 2021-08-03 21:45:03 · 834 阅读 · 0 评论 -
AcWing 828. 模拟栈
题目来源:AcWing 828. 模拟栈一、题目描述实现一个栈,栈初始为空,支持四种操作:push x – 向栈顶插入一个数 xxx;pop – 从栈顶弹出一个数;empty – 判断栈是否为空;query – 查询栈顶元素。现在要对栈进行 MMM 个操作,其中的每个操作 333 和操作 444 都要输出相应的结果。输入格式第一行包含整数 MMM,表示操作次数。接下来 MMM 行,每行包含一个操作命令,操作命令为 push x,pop,empty,query 中的一种。输出格式对原创 2021-08-03 19:38:56 · 616 阅读 · 0 评论 -
AcWing 827. 双链表
题目来源:AcWing 827. 双链表一、题目描述实现一个双链表,双链表初始为空,支持 555 种操作:在最左侧插入一个数;在最右侧插入一个数;将第 kkk 个插入的数删除;在第 kkk 个插入的数左侧插入一个数;在第 kkk 个插入的数右侧插入一个数现在要对该链表进行 MMM 次操作,进行完所有操作后,从左到右输出整个链表。注意:题目中第 kkk 个插入的数并不是指当前链表的第 kkk 个数。例如操作过程中一共插入了 nnn 个数,则按照插入的时间顺序,这 nnn 个数依次为:第 11原创 2021-08-03 17:30:35 · 828 阅读 · 0 评论 -
AcWing 826. 单链表
题目来源:AcWing 826. 单链表一、题目描述实现一个单链表,链表初始为空,支持三种操作:向链表头插入一个数;删除第 kkk 个插入的数后面的数;在第 kkk 个插入的数后插入一个数。现在要对该链表进行 MMM 次操作,进行完所有操作后,从头到尾输出整个链表。注意:题目中第 kkk 个插入的数并不是指当前链表的第 kkk 个数。例如操作过程中一共插入了 nnn 个数,则按照插入的时间顺序,这 nnn 个数依次为:第 111 个插入的数,第 222 个插入的数,…第 nnn 个插入的数原创 2021-08-03 16:05:59 · 191 阅读 · 0 评论 -
AcWing 803. 区间合并
题目来源:AcWing 803. 区间合并一、题目描述给定 nnn 个区间 [li,ri][l_i,r_i][li,ri],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3][1,3][1,3] 和 [2,6][2,6][2,6] 可以合并为一个区间 [1,6][1,6][1,6]。输入格式第一行包含整数 nnn。接下来 nnn 行,每行包含两个整数 lll 和 rrr。输出格式共一行,包含一个整数,表示合并区间完成后的区间个数。原创 2021-08-02 10:55:34 · 91 阅读 · 0 评论 -
AcWing 802. 区间和
题目来源:AcWing 802. 区间和一、题目描述假定有一个无限长的数轴,数轴上每个坐标上的数都是 000。现在,我们首先进行 nnn 次操作,每次操作将某一位置 xxx 上的数加 ccc。接下来,进行 mmm 次询问,每个询问包含两个整数 lll 和 rrr,你需要求出在区间 [l,r][l,r][l,r] 之间的所有数的和。输入格式第一行包含两个整数 nnn 和 mmm。接下来 nnn 行,每行包含两个整数 xxx 和 ccc。再接下来 mmm 行,每行包含两个整数 lll 和 rrr原创 2021-08-01 21:17:31 · 288 阅读 · 0 评论 -
AcWing 801. 二进制中1的个数
题目来源:AcWing 801. 二进制中1的个数一、题目描述给定一个长度为 nnn 的数列,请你求出数列中每个数的二进制表示中 111 的个数。输入格式第一行包含整数 n。第二行包含 n 个整数,表示整个数列。输出格式共一行,包含 n 个整数,其中的第 i 个数表示数列中的第 i 个数的二进制表示中 1 的个数。数据范围1≤n≤100000,1≤n≤100000,1≤n≤100000,0≤数列中元素的值≤1090≤数列中元素的值≤10^90≤数列中元素的值≤109输入样例:51原创 2021-08-01 19:57:36 · 260 阅读 · 0 评论 -
AcWing 2816. 判断子序列
题目来源:AcWing 2816. 判断子序列一、题目描述给定一个长度为 n 的整数序列 a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an 以及一个长度为 mmm 的整数序列 b1,b2,…,bmb_1,b_2,…,b_mb1,b2,…,bm。请你判断 aaa 序列是否为 bbb 序列的子序列。子序列指序列的一部分项按原有次序排列而得的序列,例如序列 a1,a3,a5{a_1,a_3,a_5}a1,a3,a5 是序列 a1,a2,a3,a4,a5{a_1,a_2,原创 2021-07-29 18:35:00 · 411 阅读 · 0 评论 -
AcWing 800. 数组元素的目标和
题目来源:AcWing 800. 数组元素的目标和一、题目描述给定两个升序排序的有序数组 AAA 和 BBB,以及一个目标值 xxx。数组下标从 000 开始。请你求出满足 A[i]+B[j]=xA[i]+B[j]=xA[i]+B[j]=x 的数对 (i,j)(i,j)(i,j)。数据保证有唯一解。输入格式第一行包含三个整数 n,m,xn,m,xn,m,x,分别表示 A 的长度,B 的长度以及目标值 x。第二行包含 nnn 个整数,表示数组 A。第三行包含 mmm 个整数,表示数组 B。原创 2021-07-29 17:55:11 · 898 阅读 · 1 评论 -
AcWing 799. 最长连续不重复子序列
题目来源:AcWing 799. 最长连续不重复子序列一、题目描述给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数n。第一行包含整数 n。第一行包含整数n。第二行包含n个整数(均在0∼105范围内),表示整数序列。第二行包含 n 个整数(均在 0∼105 范围内),表示整数序列。第二原创 2021-07-29 12:36:59 · 2065 阅读 · 0 评论 -
AcWing 798. 差分矩阵
题目来源:AcWing 798. 差分矩阵一、题目描述输入一个 nnn 行 mmm 列的整数矩阵,再输入 qqq 个操作,每个操作包含五个整数 x1,y1,x2,y2,cx_1,y_1,x_2,y_2,cx1,y1,x2,y2,c,其中 (x1,y1)(x_1,y_1)(x1,y1) 和 (x2,y2)(x_2,y_2)(x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。每个操作都要将选中的子矩阵中的每个元素的值加上 ccc。请你将进行完所有操作后的矩阵输出。输入格式第一行包原创 2021-07-28 21:54:43 · 353 阅读 · 0 评论