随笔分类 - AcWing
摘要:AcWing 831.KMP字符串 题目描述 给定一个字符串 S,以及一个模式串 P , 所有字符串中只包含大小写英文字母以及阿拉伯数字。 模式串 P 在字符串 S 中多次作为子串出现。 求出模式串 P 在字符串 S 中所有出现的位置的起始下标。 输入格式 第一行输入整数 N,表示字符串 P 的长度
阅读全文
摘要:AcWing 154.滑动窗口 题目描述 给定一个大小为 n≤10^6的数组。 有一个大小为 k 的滑动窗口,它从数组的最左边移动到最右边。 你只能在窗口中看到 k 个数字。 每次滑动窗口向右移动一个位置。 以下是一个例子: 该数组为 [1 3 -1 -3 5 3 6 7],k 为 3 。 |窗口位
阅读全文
摘要:AcWing 830.单调栈 题目描述 给定一个长度为 N 的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出 −1。 输入格式 第一行包含整数 N ,表示数列长度。 第二行包含 N 个整数,表示整数数列。 输出格式 共一行,包含 N 个整数,其中第 i 个数表示第 i 个数的左边第一个比
阅读全文
摘要:AcWing 803.区间合并 题目描述 给定 n 个区间 [li,ri] ,要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3] 和 [2,6] 可以合并为一个区间 [1,6]。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含两个整
阅读全文
摘要:AcWing 802.区间和 题目描述 假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。 现在,我们首先进行 n次操作,每次操作将某一位置 x 上的数加 c。 接下来,进行 m次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 [l,r] 之间的所有数的和。 输入格式 第一行包含两个整
阅读全文
摘要:AcWing 756.蛇形矩阵 题目描述 输入两个整数n和m,输出一个n行m列的矩阵,将数字 1 到 n*m 按照回字蛇形填充至矩阵中。 具体矩阵形式可参考样例。 输入格式 输入共一行,包含两个整数n和m。 输出格式 输出满足要求的矩阵。 矩阵占n行,每行包含m个空格隔开的整数。 数据范围 1≤n,
阅读全文
摘要:AcWing 717.简单斐波那契 题目描述 以下数列0 1 1 2 3 5 8 13 21 …被称为斐波纳契数列。 这个数列从第3项开始,每一项都等于前两项之和。 输入一个整数N,请你输出这个序列的前N项。 输入格式 一个整数N。 输出格式 在一行中输出斐波那契数列的前N项,数字之间用空格隔开。
阅读全文
摘要:AcWing 786.第k个数 题目描述 给定一个长度为n的整数数列,以及一个整数k,请用快速选择算法求出数列的第k小的数是多少。 输入格式 第一行包含两个整数 n 和 k。 第二行包含 n 个整数(所有整数均在1~10^9 范围内),表示整数数列。 输出格式 输出一个整数,表示数列的第k小数。 数
阅读全文
摘要:AcWing 798.差分矩阵 题目描述 输入一个n行m列的整数矩阵,再输入q个操作,每个操作包含五个整数x1, y1, x2, y2, c,其中(x1, y1)和(x2, y2)表示一个子矩阵的左上角坐标和右下角坐标。 每个操作都要将选中的子矩阵中的每个元素的值加上c。 请你将进行完所有操作后的矩
阅读全文
摘要:AcWing 797.差分 题目描述 输入一个长度为n的整数序列。 接下来输入m个操作,每个操作包含三个整数l, r, c,表示将序列中[l, r]之间的每个数加上c。 请你输出进行完所有操作后的序列。 输入格式 第一行包含两个整数n和m。 第二行包含n个整数,表示整数序列。 接下来m行,每行包含三
阅读全文
摘要:AcWing 796.子矩阵的和 题目描述 输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数x1, y1, x2, y2,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。 输入格式 第一行包含三个整数n,m,q。 接下来n行,每行包含m个整数,表示整数矩
阅读全文
摘要:AcWing 795.前缀和 题目描述 输入一个长度为n的整数序列。 接下来再输入m个询问,每个询问输入一对l, r。 对于每个询问,输出原序列中从第l个数到第r个数的和。 输入格式 第一行包含两个整数n和m。 第二行包含n个整数,表示整数数列。 接下来m行,每行包含两个整数l和r,表示一个询问的区
阅读全文
摘要:AcWing 794.高精度除法 题目描述 给定两个正整数A,B,请你计算 A / B的商和余数。 输入格式 共两行,第一行包含整数A,第二行包含整数B。 输出格式 共两行,第一行输出所求的商,第二行输出所求余数。 数据范围 1≤A的长度≤100000, 1≤B≤10000 输入样例 ~~~~ 7
阅读全文
摘要:AcWing 793.高精度乘法 题目描述 给定两个正整数A和B,请你计算A B的值。 输入格式 共两行,第一行包含整数A,第二行包含整数B。 输出格式 共一行,包含A B的值。 数据范围 1≤A的长度≤100000, 1≤B≤10000 输入样例 ~~~~ 2 3 ~~~~ 输出样例 ~~~~ 6
阅读全文
摘要:AcWing 792.高精度减法 题目描述 给定两个正整数,计算它们的差,计算结果可能为负数。 输入格式 共两行,每行包含一个整数。 输出格式 共一行,包含所求的差。 数据范围 1≤整数长度≤105 输入样例 ~~~~ 32 11 ~~~~ 输出样例 ~~~~ 21 ~~~~ 题目思路 低角标存低位
阅读全文
摘要:AcWing 791.高精度加法 题目描述 给定两个正整数,计算它们的和。 输入格式 共两行,每行包含一个整数。 输出格式 共一行,包含所求的和。 数据范围 1≤整数长度≤100000 输入样例 ~~~~ 12 23 ~~~~ 输出样例 ~~~~ 35 ~~~~ 题目思路 低角标存低位,高角标存高位
阅读全文
摘要:AcWing 790.数的三次方根 题目描述 给定一个浮点数n,求它的三次方根。 输入格式 共一行,包含一个浮点数n。 输出格式 共一行,包含一个浮点数,表示问题的解。 注意,结果保留6位小数。 数据范围 −10000≤n≤10000 输入样例 ~~~~ 1000.00 ~~~~ 输出样例 ~~~~
阅读全文
摘要:AcWing 789.数的范围 题目描述 给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。 对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。 如果数组中不存在该元素,则返回“ 1 1”。 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数(
阅读全文
摘要:AcWing 788.逆序对的数量 题目描述 给定一个长度为n的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i a[j],则其为一个逆序对;否则不是。 输入格式 第一行包含整数n,表示数列的长度。 第二行包含 n 个整数,表示整个数列。
阅读全文