基础算法
文章平均质量分 66
隹隹隹隹隹
仗剑天涯,叱咤天下!
展开
-
Floyd求最短路
Floyd求最短路题目给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环,边权可能为负数。再给定 k 个询问,每个询问包含两个整数 x 和 y,表示查询从点 x 到点 y 的最短距离,如果路径不存在,则输出 impossible。数据保证图中不存在负权回路。输入格式第一行包含三个整数 n,m,k。接下来 m 行,每行包含三个整数 x,y,z,表示存在一条从点 x 到点 y 的有向边,边长为 z。接下来 k 行,每行包含两个整数 x,y,表示询问点 x 到点 y 的最短距离。输出格原创 2022-05-13 09:27:43 · 190 阅读 · 2 评论 -
区间合并(简单)
区间合并题目给定 n 个区间 [li,ri],要求合并所有有交集的区间。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。例如:[1,3]和 [2,6]可以合并为一个区间 [1,6]。输入格式第一行包含整数 n。接下来 n 行,每行包含两个整数 l 和 r。输出格式共一行,包含一个整数,表示合并区间完成后的区间个数。数据范围1≤n≤100000,−109≤li≤ri≤109输入样例:51 22 45 67 87 9输出样例:3思路AC代码#i原创 2022-04-05 22:18:47 · 377 阅读 · 0 评论 -
区间和(离散化)
区间和(离散化)题目假定有一个无限长的数轴,数轴上每个坐标上的数都是 0。现在,我们首先进行 n 次操作,每次操作将某一位置 x 上的数加 c。接下来,进行 m 次询问,每个询问包含两个整数 l 和 r,你需要求出在区间 [l,r]之间的所有数的和。输入格式第一行包含两个整数 n 和 m。接下来 n 行,每行包含两个整数 x 和 c。再接下来 m 行,每行包含两个整数 l 和 r。输出格式共 m 行,每行输出一个询问中所求的区间内数字和。数据范围−109 ≤ x ≤ 109,1 ≤原创 2022-04-05 21:05:57 · 100 阅读 · 0 评论 -
区间选点(贪心)
区间选点贪心问题——找局部最优解(只有一个问题是单峰的时间,才可以用贪心算法)题目给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。输出选择的点的最小数量。位于区间端点上的点也算作区间内。输入格式第一行包含整数 N,表示区间数。接下来 N 行,每行包含两个整数 ai,bi,表示一个区间的两个端点。输出格式输出一个整数,表示所需的点的最小数量。数据范围1≤N≤105,−109≤ai≤bi≤109输入样例:3-1 12 43原创 2022-03-26 15:57:08 · 129 阅读 · 0 评论 -
栈和队列hhh
栈和队列文章目录栈和队列一、区别二、栈的定义三、队列定义四、单调栈输入格式输出格式数据范围输入样例:输出样例:思路暴力做法单调栈做法↓↓↓AC代码五、单调队列(滑动窗口)输入格式输出格式输入样例:输出样例:思路暴力做法:直接遍历一下队列里的所有元素单调栈和单调队列的做法:AC代码一、区别二、栈的定义#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>us原创 2022-03-11 00:55:23 · 106 阅读 · 0 评论 -
单链表and双链表
单链表and双链表单链表(1)单链表的存储(2)初始化//head表示头结点的下标//e[i]表示节点i的值//ne[i]表示节点i的next指针是多少 //idx存储当前已经用到了哪个点 int head, e[N], ne[N], idx;//初始化 void init(){ head = -1;//-1表示空集 idx = 0;//当前可以从0号点开始分配 }(3)插入操作把一个红颜色的点插入到头结点的位置:将红色的指针指向head的下一个位置;将h原创 2022-03-06 23:48:39 · 665 阅读 · 0 评论 -
快速幂求逆元
快速幂求逆元题目给定 n 组 ai,pi,其中 pi 是质数,求 ai 模 pi 的乘法逆元,若逆元不存在则输出 impossible。注意:请返回在 0∼p−1 之间的逆元。乘法逆元的定义若整数 b,m 互质,并且对于任意的整数 a,如果满足 b|a,则存在一个整数 x,使得 a / b ≡ a × x ( mod m ),则称 x 为 b 的模 m 乘法逆元,记为 b−1 ( mod m ) 。b 存在乘法逆元的充要条件是 b 与模数 m 互质。当模数 m 为质数时,bm−2 即为 b 的原创 2022-03-02 23:16:24 · 96 阅读 · 0 评论 -
背包问题(四种)
背包问题文章目录背包问题一、背包模型(定义)二、01背包题目输入格式输出格式数据范围输入样例输出样例:题意思路二维AC代码一维AC代码三、完全背包题目输入格式输出格式数据范围输入样例输出样例:思路1朴素TLE代码思路2二维AC代码一维AC代码四、多重背包多重背包问题I题目输入格式输出格式数据范围输入样例输出样例:思路暴力AC代码多重背包问题II题目输入格式输出格式数据范围提示:输入样例输出样例:AC代码五、分组背包题目输入格式输出格式数据范围输入样例输出样例:思路AC代码一、背包模型(定义)01背包:原创 2022-03-02 09:08:47 · 10798 阅读 · 6 评论