算法
文章平均质量分 72
WalkingSeason
这个作者很懒,什么都没留下…
展开
-
[模板] 单源最短路径 - 最短路计数 (洛谷P1144 最短路计数)
[模板] 单源最短路径 - 最短路计数 (洛谷P1144 最短路计数)P1144 最短路计数 - 洛谷 | 计算机科学教育新生态题目描述给出一个N个顶点M条边的无向无权图,顶点编号为1-N。问从顶点1开始,到其他每个点的最短路有几条。输入格式第一行包含2个正整数N,M,为图的顶点数与边数。接下来M行,每行22个正整数x,y,表示有一条顶点x连向顶点y的边,请注意可能有自环与重边。输出格式共N行,每行一个非负整数,第ii行输出从顶点1到顶点i有多少条不同的最短路,由于答案有可能会很大,你只需要原创 2021-05-30 20:09:49 · 159 阅读 · 0 评论 -
[模板] 拓扑排序 & LeetCode 207. 课程表
[模板] 拓扑排序 & LeetCode 207. 课程表LeetCode 207. 课程表207. 课程表 - 力扣(LeetCode) (leetcode-cn.com)你这个学期必须选修 numCourses 门课程,记为 0 到 numCourses - 1 。在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出,其中 prerequisites[i] = [ai, bi] ,表示如果要学习课程 ai 则 必须 先学习课程 bi 。例如,先修课程原创 2021-05-30 19:51:24 · 92 阅读 · 0 评论 -
[模板] 并查集 - 带权并查集 (洛谷 P3367 银河英雄传说)
P1196 [NOI2002]银河英雄传说带权并查集题目背景公元5801年,地球居民迁至金牛座α第二行星,在那里发表银河联邦创立宣言,同年改元为宇宙历元年,并开始向银河系深处拓展。宇宙历799年,银河系的两大军事集团在巴米利恩星域爆发战争。泰山压顶集团派宇宙舰队司令莱因哈特率领十万余艘战舰出征,气吞山河集团点名将杨威利组织麾下三万艘战舰迎敌。题目描述杨威利擅长排兵布阵,巧妙运用各种战术屡次以少胜多,难免恣生骄气。在这次决战中,他将巴米利恩星域战场划分成30000列,每列依次编号为1,2,···,原创 2021-04-30 20:14:01 · 193 阅读 · 0 评论 -
[模板] 并查集 - 种类并查集 (洛谷 P2024 食物链)
P2024 [NOI2001]食物链P2024 食物链 - 洛谷题目描述动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1 - N编号。每个动物都是A, B, C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是1 X Y,表示X和Y是同类。第二种说法是2 X Y,表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。当一句话原创 2021-04-30 20:09:43 · 216 阅读 · 0 评论 -
[模板] 线性筛素数 (欧拉筛)
P3383 【模板】线性筛素数P3383 【模板】线性筛素数 - 洛谷 | 计算机科学教育新生态题目背景本题已更新,从判断素数改为了查询第 kk 小的素数提示:如果你使用 cin 来读入,建议使用 std::ios::sync_with_stdio(0) 来加速。题目描述如题,给定一个范围 n,有 q个询问,每次输出第 k 小的素数。输入格式第一行包含两个正整数 n,q,分别表示查询的范围和查询的个数。接下来 q 行每行一个正整数 k,表示查询第 k 小的素数。输出格式输出 q 行,每原创 2021-04-30 19:26:47 · 230 阅读 · 1 评论 -
[模板] 差分树状数组 - 区间操作&元素求值
P3368 【模板】树状数组 2P3368 【模板】树状数组 2 - 洛谷首先:树状数组 - 区间求值&元素操作题目描述如题,已知一个数列,你需要进行下面两种操作:将某区间每一个数数加上x;求出某一个数的值。输入格式第一行包含两个整数N、M,分别表示该数列数字的个数和操作的总个数。第二行包含N个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来M行每行包含2或4个整数,表示一个操作,具体如下:操作1:格式:1 x y k含义:将区间[x,y]内每个数加上k;原创 2021-03-21 18:04:24 · 124 阅读 · 0 评论 -
[模板] 树状数组 - 区间求值&元素操作
树状数组P3374 【模板】树状数组 1P3374 【模板】树状数组 1题目描述如题,已知一个数列,你需要进行下面两种操作:将某一个数加上x求出某区间每一个数的和输入格式第一行包含两个正整数n,m分别表示该数列数字的个数和操作的总个数。第二行包含n个用空格分隔的整数,其中第i个数字表示数列第i项的初始值。接下来m行每行包含3个整数,表示一个操作,具体如下:1 x k含义:将第x个数加上k2 x y含义:输出区间[x,y]内每个数的和输出格式输出包含若干行整数,即为所有操作原创 2021-03-21 17:39:11 · 201 阅读 · 0 评论 -
[模板] 二叉树 由先序遍历和中序遍历建树 & 蓝桥杯练习系统 试题 绘制地图
蓝桥杯练习系统 试题 算法训练 绘制地图蓝桥杯练习系统 试题 算法训练 绘制地图资源限制时间限制:1.0s 内存限制:256.0MB关于二叉树:【模板】 二叉树_WalkingSeason的博客问题描述 最近,WYF正准备参观他的点卡工厂。WYF集团的经理氰垃圾需要帮助WYF设计参“观”路线。现在,氰垃圾知道一下几件事情:WYF的点卡工厂构成一颗二叉树。一共有n座工厂。他需要把这颗树上的点以后序遍历的方法列出来,才能绘制地图。 还好,最近他的属下给了他先序遍历和中序遍历的数据原创 2021-03-17 15:40:49 · 235 阅读 · 0 评论 -
[模板] 二叉树
[模板] 二叉树 该模板实现以下功能: 前序遍历,中序遍历,后序遍历,询问节点深度 关于树的基础知识参考深入学习二叉树(一) 二叉树基础 - 简书#include <vector>#include <algorithm> //find()using namespace std;struct btree_node{ int depth; btree_node *father, *lson, *rson;};struct btree{ btree_原创 2021-03-07 15:03:22 · 428 阅读 · 0 评论 -
[模板] 并查集 - 一般并查集 (洛谷 P3367 并查集)
并查集P3367 【模板】并查集题目描述如题,现在有一个并查集,你需要完成合并和查询操作。输入格式第一行包含两个整数N,M,表示共有N个元素和M个操作。接下来M行,每行包含三个整数Zi,Xi,Yi。当Zi=1时,将Xi与Yi所在的集合合并。当Zi=2时,输出Xi与Yi是否在同一集合内,是的输出Y;否则输出N。输出格式对于每一个Zi=2的操作,都有一行输出,每行包含一个大写字母,为Y或者N。输入输出样例输入输出4 72 1 21 1 22 1 21 3原创 2021-02-28 20:06:18 · 197 阅读 · 0 评论 -
[模板] Java实现upper_bound(), lower_bound() & 最长(不)上升序列长度与数量 (蓝桥杯经典算法 导弹拦截)
蓝桥杯培训内部讲解 导弹拦截 (最长不上升序列长度与数量)蓝桥杯算法教学与培训 蓝桥杯培训内部讲解 导弹拦截蓝桥杯练习系统 试题 算法训练 拦截导弹P1020 导弹拦截 - 洛谷 | 计算机科学教育新生态€€£ NOIP经典老题资源限制 时间限制:1.0s 内存限制:256.0MB问题描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由原创 2021-02-25 22:14:47 · 168 阅读 · 0 评论 -
[模板] Java实现next_permutation() (蓝桥杯经典算法 蓝桥杯特训 全排列)
java实现next_permutation()java的自带函数中不存在next_permutation()函数导致做一些题目可能会比较复杂。详细解释请对照注释。public static boolean nextPermutation(double[] arr) { int i = arr.length - 2; while (i >= 0 && arr[i] > arr[i + 1]) // 从后往前找,找到第一个不满足降序的数(要考虑到重复的数字) i--;原创 2021-02-24 14:54:50 · 949 阅读 · 0 评论