acwing
文章平均质量分 51
记录一些在acwing上做的题
前 方
这个作者很懒,什么都没留下…
展开
-
AcWing5277. 三元组
给定一个长度为 n 的正整数数组 a1,a2,…,an请你计算,一共有多少个三元组 (i,j,k)(1≤i<j<k≤n),使得 ai⋅aj⋅ak 为最小可能值。原创 2023-10-15 15:51:47 · 160 阅读 · 0 评论 -
位运算
1,移位运算。原创 2023-09-23 16:33:37 · 78 阅读 · 1 评论 -
Dijkstra(求最短路)
【代码】Dijkstra(求最短路)原创 2023-08-10 17:26:54 · 240 阅读 · 0 评论 -
AcWing100. 增减序列(差分)
给定一个长度为 n 的数列 a1,a2,…,an,每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。原创 2023-07-20 16:06:56 · 58 阅读 · 0 评论 -
约数问题
an的取法确定,每一个质数的指数的取法有(a+1)种取法,故 约数个数。输出一个整数,表示所给正整数的乘积的约数个数,答案需对 109+7109+7 取模。输出一个整数,表示所给正整数的乘积的约数之和,答案需对 109+7109+7 取模。给定 n个正整数 ai,请你输出这些数的乘积的约数个数,答案对 109+7 取模。给定 n个正整数 ai,请你输出这些数的乘积的约数之和,答案对 109+7 取模。利用辗转相除法,有数学公式的,这里不再推导,直接上模板。输出共 n行,每行输出一个整数对的最大公约数。原创 2023-07-17 18:48:29 · 65 阅读 · 0 评论 -
离散化(AcWing 802. 区间和)超详解
假定有一个无限长的数轴,数轴上每个坐标上的数都是 00。现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。接下来,进行 m次询问,每个询问包含两个整数 l和 r,你需要求出在区间 [l,r]之间的所有数的和。原创 2023-07-15 11:59:30 · 219 阅读 · 0 评论 -
并查集(带题分析)
1,合并:将两个集合 合并2,询问:询问两个元素是否在一个集合中。原创 2023-07-13 18:22:45 · 658 阅读 · 0 评论 -
快速幂(一看就懂)
是一种简单而有效的算法,可以在O(log n)的时间复杂度计算乘方。例如求3的10次方。原创 2023-07-10 22:51:29 · 44 阅读 · 0 评论 -
Tire树(带图详解)
基本介绍tire树又被称为字典树,是一种高效查找和储存的数据结构,tire树的两大功能插入和查找。函数实现图解。原创 2023-07-09 19:23:44 · 138 阅读 · 1 评论 -
AcWing 788. 逆序对的数量
给定一个长度为 n的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i个和第 j 个元素,如果满足 i<j且 a[i]>a[j][,则其为一个逆序对;否则不是。原创 2023-07-07 21:33:24 · 48 阅读 · 1 评论 -
归并排序(数组)
比如有一个10个元素的数组,归并排序的思想就是先把这10个元素分成10组,然后两个相邻的元素结合,这时候就需要一个临时的数组来存储我们结合后的数组,结合的时候比较一下小的先进,这样我们就得到一个相对有序的数组(因为当一个数组完全进入临时数组另一个可能还没有完全进入所以要加一步直接把没有进入临时数组的元素直接加入),最后把临时数组内的元素再还给原数组为下次合并排序做准备。输入共两行,第一行包含整数 n。(1)分解:将n个元素分解成n/2个元素的子序列。输出共一行,包含 n 个整数,表示排好序的数列。原创 2023-07-07 21:18:14 · 132 阅读 · 1 评论 -
AcWing 145. 超市
超市里有 N 件商品,每件商品都有利润 pi 和过期时间 di,每天只能卖一件商品,过期商品不能再卖。求合理安排每天卖的商品的情况下,可以得到的最大收益是多少。原创 2023-07-06 16:51:37 · 47 阅读 · 1 评论 -
3626. 三元一次方程(Acwing)
每组数据输出一行结果,如果无解则输出 −1,否则输出 x,y,z,整数之间单个空格隔开。给定一个整数 n,请你求出三元一次方程 3x+5y+7z=n 的一组非负整数解。比较字典序最小,从前往后比较,因此需要把前面的尽量最小。第一行包含一个整数 T,表示共有 T 组测试数据。对于全部测试点1≤n≤10001≤n≤1000。每组数据占一行,包含一个整数 n。对于前三个测试点,1≤n≤100。原创 2023-06-06 11:23:11 · 102 阅读 · 0 评论 -
AcWing 790. 数的三次方根
共一行,包含一个浮点数,表示问题的解。给定一个浮点数 n,求它的三次方根。共一行,包含一个浮点数 n。注意,结果保留 6 位小数。原创 2023-06-15 18:29:33 · 46 阅读 · 1 评论 -
(Acwing)4974. 最长连续子序列
双指针求子串原创 2023-05-10 22:59:08 · 81 阅读 · 1 评论 -
(Acwing)5030. 核心元素
此外,如果数组中出现次数最多的元素不唯一,则出现次数最多的元素中数值最小的那个元素为数组的核心元素,例如数组[1,2,2,3,3] 的核心元素为 22。我们规定,数组中出现次数最多的元素为数组的核心元素,例如数组 [1,1,1,2,3] 的核心元素为 1。,an,数组中的每个元素都是一个 1∼n 之间的整数。共一行,输出 n个整数,其中第 i 个整数表示给定数组中核心元素为 i 的。对于 1≤i≤n 的每个整数 i,请你计算有多少个给定数组的。所有测试点满足 1≤n≤5000,1≤ai≤n。原创 2023-05-30 12:00:09 · 90 阅读 · 0 评论 -
3627. 最大差值(Acwing)
例如,如果初始序列为 [5,5,5,5][5,5,5,5] 而 k=1k=1,则一种最优方案是将 a2a2 减少 55,将 a4a4 增加 55,得到序列 [5,0,5,10][5,0,5,10],这样最大值和最小值之差为 1010。对于全部测试点,1≤T≤10001≤T≤1000,1≤k原创 2023-06-06 11:59:19 · 72 阅读 · 0 评论