02 2022 档案
摘要:题目传送门 题目描述 题目背景 1997年普及组第一题 题目描述 有一个 n \times mn×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。 输入格式 一行,两个正整数 n,mn,m(n \leq 5000,m \leq 5000n≤5000,m≤5000)。 输出格式 一行,
阅读全文
摘要:题目传送门 题目描述 题目描述 某国法律规定,只要一个由 N \times MN×M 个小方块组成的旗帜符合如下规则,就是合法的国旗。(毛熊:阿嚏——) 从最上方若干行(至少一行)的格子全部是白色的; 接下来若干行(至少一行)的格子全部是蓝色的; 剩下的行(至少一行)全部是红色的; 现有一个棋盘状的
阅读全文
摘要:题目传送门 题目描述 题目描述 给出NN个点,MM条边的有向图,对于每个点vv,求A(v)A(v)表示从点vv出发,能到达的编号最大的点。 输入格式 第1 行,2 个整数N,MN,M。 接下来MM行,每行2个整数U_i,V_iU**i,V**i,表示边(U_i,V_i)(U**i,V**i)。点用1
阅读全文
摘要:题目传送门 题目描述 题目描述 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出rr个元素(不分顺序且r \le n)r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取rr个数。 现要求你输出所有组合。 例如n=5,r=3,所有组合为: 12 3 , 1 2 4 , 1
阅读全文
摘要:题目描述 题目传送门 小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。 假设洛谷博客里面一共有 n(n\le105)n(
阅读全文
摘要:题目描述 给定 nn 组数据 ai,bi,mi,对于每组数求出一个 xi,使其满足 \(ai×xi≡bi(\%mi)\),如果无解则输出 impossible。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一组数据 ai,bi,mi 输出格式 输出共 n 行,每组数据输出一个整数表示一个
阅读全文
摘要:题目描述 给定 N 个闭区间 [ai,bi],请你将这些区间分成若干组,使得每组内部的区间两两之间(包括端点)没有交集,并使得组数尽可能小。 输出最小组数。 输入格式 第一行包含整数 N,表示区间数。 接下来 N 行,每行包含两个整数 ai,bi,表示一个区间的两个端点。 输出格式 输出一个整数,表
阅读全文
摘要:题目描述 给定 N 个闭区间 [ai,bi],请你在数轴上选择尽量少的点,使得每个区间内至少包含一个选出的点。 输出选择的点的最小数量。 位于区间端点上的点也算作区间内。 输入格式 第一行包含整数 N,表示区间数。 接下来 N 行,每行包含两个整数 ai,bi,表示一个区间的两个端点。 输出格式 输
阅读全文
摘要:题目描述 给定一个 n 个点 m 条边的有向图,点的编号是 1 到 n,图中可能存在重边和自环。 请输出任意一个该有向图的拓扑序列,如果拓扑序列不存在,则输出 −1。 若一个由图中所有点构成的序列 A 满足:对于图中的每条边 (x,y),x 在 A 中都出现在 y 之前,则称 A 是该图的一个拓扑序
阅读全文
摘要:题目描述 给定一颗树,树中包含 n 个结点(编号 1∼n)和 n−1 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 输入格式 第一行包含整数 nn
阅读全文
摘要:题目描述 斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、34、……1、1、2、3、5、8、13、21、34、…… 在数学上,斐波那契数列以如下递推的形式定义:F(0)=1,F(1)=1,F(n)=F(n−1)+F(n−2)(n≥2,n∈N∗)F(0)=1,F(1)=1,F(n)
阅读全文
摘要:题目描述 Ural 大学有 N 名职员,编号为 1∼N。 他们的关系就像一棵以校长为根的树,父节点就是子节点的直接上司。 每个职员有一个快乐指数,用整数 Hi 给出,其中 1≤i≤N。 现在要召开一场周年庆宴会,不过,没有职员愿意和直接上司一起参会。 在满足这个条件的前提下,主办方希望邀请一部分职员
阅读全文
摘要:题目描述 给定一个 n 个点 m 条边的有向图,图中可能存在重边和自环。 所有边的长度都是 1,点的编号为 1∼n。 请你求出 1 号点到 n 号点的最短距离,如果从 1 号点无法走到 n 号点,输出 −1。 输入格式 第一行包含两个整数 n 和 m。 接下来 m 行,每行包含两个整数 a 和 b,
阅读全文
摘要:题目描述 给定一个 R 行 C 列的矩阵,表示一个矩形网格滑雪场。 矩阵中第 i 行第 j 列的点表示滑雪场的第 i 行第 j 列区域的高度。 一个人从滑雪场中的某个区域内出发,每次可以向上下左右任意一个方向滑动一个单位距离。 当然,一个人能够滑动到某相邻区域的前提是该区域的高度低于自己目前所在区域
阅读全文
摘要:转载自:https://blog.csdn.net/weixin_39908462/article/details/110614054 一.sort函数 1.sort函数包含在头文件为#include<algorithm>的c++标准库中,调用标准库里的排序方法可以实现对数据的排序,但是sort函数
阅读全文
摘要:题目描述 bfs算法求解 在一个 3×3 的网格中,1∼8 这 8 个数字和一个 x 恰好不重不漏地分布在这 3×3 的网格中。 例如: 1 2 3 x 4 6 7 5 8 在游戏过程中,可以把 x 与其上、下、左、右四个方向之一的数字交换(如果存在)。 我们的目的是通过交换,使得网格变为如下排列(
阅读全文
摘要:题目描述 给定一个 n×mn×m 的二维整数数组,用来表示一个迷宫,数组中只包含 00 或 11,其中 00 表示可以走的路,11 表示不可通过的墙壁。 最初,有一个人位于左上角 (1,1)(1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。 请问,该人从左上角移动至右下角 (
阅读全文
摘要:题目描述 n−皇后问题是指将 n 个皇后放在 n×n 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n,请你输出所有的满足条件的棋子摆法。 输入格式 共一行,包含整数 n。 输出格式 每个解决方案占 n 行,每行输出一个长度为 n 的字
阅读全文
摘要:题目描述 给定一个整数 n,将数字 1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数 n。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据范围 1≤n≤7 输入样例: 3 输出样例: 1 2 3 1 3 2 2 1 3
阅读全文
摘要:题目描述 给定 nn 个正整数 aiai,请你输出这些数的乘积的约数个数,答案对 109+7 取模。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 ai。 输出格式 输出一个整数,表示所给正整数的乘积的约数个数,答案需对 109+7取模。 数据范围 1≤n≤100 1≤ai≤2×
阅读全文
摘要:题目描述 给定 n 个正整数 ai,请你输出这些数的乘积的约数之和,答案对 10^9+7 取模。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个整数 ai。 输出格式 输出一个整数,表示所给正整数的乘积的约数之和,答案需对 109+7109+7 取模。 数据范围 1≤n≤100 1≤a
阅读全文
摘要:题目描述 给定 nn 组 ai,pi其中 pi是质数,求 ai 模 pi 的乘法逆元,若逆元不存在则输出 impossible。 注意:请返回在 0∼p−1 之间的逆元。 乘法逆元的定义 若整数 b,mb,m 互质,并且对于任意的整数 aa,如果满足 b|ab|a,则存在一个整数 xx,使得 a/b
阅读全文
摘要:题目描述 给定 nn 组 ai,bi,pi,对于每组数据,求出 a^b % p 的值。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含三个整数 ai,bi,pi 输出格式 对于每组数据,输出一个结果,表示 a^b % p 的值。 每个结果占一行。 数据范围 1≤n≤100000 1≤ai,
阅读全文
摘要:题目描述 给定 n 个正整数 ai,将每个数分解质因数,并按照质因数从小到大的顺序输出每个质因数的底数和指数。 输入格式 第一行包含整数 n。 接下来 n 行,每行包含一个正整数 ai。 输出格式 对于每个正整数 ai,按照从小到大的顺序输出其分解质因数后,每个质因数的底数和指数,每个底数和指数占一
阅读全文
摘要:题目描述 给定一个正整数 n,请你求出 1∼n中质数的个数。 输入格式 共一行,包含整数 n。 输出格式 共一行,包含一个整数,表示 1∼n中质数的个数。 数据范围 1≤n≤106 输入样例: 8 输出样例: 4 质数筛算法求解 分析 分为两种 朴素的筛法(埃式筛法):找到一个质数,然后把1-n内该
阅读全文
摘要:题目描述 一个正整数n可以表示成若干个正整数之和,形如:n=n1+n2+…+nk,其中n1≥n2≥…≥nk,k≥1。 我们将这样的一种表示称为正整数n的一种划分。 现在给定一个正整数n,请你求出n共有多少种不同的划分方法。 输入格式 共一行,包含一个整数n。 输出格式 共一行,包含一个整数,表示总划
阅读全文
摘要:题目描述 动态规划求解(01背包) 分析 一共有sum(a[i])个花,每个花看成一个物品,盆的数量看成背包容量,那么本题就是考察容量为m的背包装这些物品,最多有多少种方案 用f[i][j]表示前i种花,有j个盆的时候,最多的方案 那么f[i][j] = sum( f[i-1][j - k]) 0
阅读全文
摘要:题目描述 给定两个长度分别为 N 和 M 的字符串 A 和 B,求既是 A 的子序列又是 B 的子序列的字符串长度最长是多少。 输入格式 第一行包含两个整数 N 和 M。 第二行包含一个长度为 N 的字符串,表示字符串 A。 第三行包含一个长度为 M 的字符串,表示字符串 B。 字符串均由小写字母构
阅读全文
摘要:给定一个长度为 N 的数列,求数值严格单调递增的子序列的长度最长是多少。 输入格式 第一行包含整数 N。 第二行包含 N 个整数,表示完整序列。 输出格式 输出一个整数,表示最大长度。 数据范围 1≤N≤1000, −109≤数列中的数≤109 输入样例: 7 3 1 2 1 8 5 6 输出样例:
阅读全文
摘要:给定一个如下图所示的数字三角形,从顶部出发,在每一结点可以选择移动至其左下方的结点或移动至其右下方的结点,一直走到底层,要求找出一条路径,使路径上的数字的和最大。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 输入格式 第一行包含整数 n,表示数字三角形的层数。 接下来 n 行,每行包
阅读全文
摘要:给定 n 个由小写字母构成的字符串。 现在,请你对它们进行归类。 对于两个字符串 a 和 b: 如果至少存在一个字母在 a 和 b 中同时出现,则 a 和 b 属于同一类字符串。 如果字符串 c 既与字符串 a 同类,又与字符串 b 同类,则 a 和 b 属于同一类字符串。 请问,最终所有字符串被划
阅读全文
摘要:有 N 种物品和一个容量是 V 的背包,每种物品都有无限件可用。 第 i 种物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品种数和背包容积。 接下来有 N 行,每
阅读全文
摘要:有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi,价值是 wi。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式 第一行两个整数,N,V,用空格隔开,分别表示物品数量和背包容积。 接下来有 N 行,每行
阅读全文
摘要:动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。 A 吃 B,B 吃 C,C 吃 A。 现有 N 个动物,以 1∼N 编号。 每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这 N 个动物所构成的食物链关系进行描述: 第一种说法是 1 X
阅读全文
摘要:单链表/数组模拟 #include<iostream> using namespace std; const int N = 100010; int e[N], ne[N]; // e[i]表示第i数的值,ne[i]表示第i个数后面的数 int head, idx; // head表示链表头,idx
阅读全文
摘要:给定一个长度为n的字符串,再给定m个询问,每个询问包含四个整数 l1,r1,l2,r2 ,请你判断[ l1,r1 ]和[ l2,r2 ]这两个区间所包含的字符串子串是否完全相同。 字符串中只包含大小写英文字母和数字。 输入格式 第一行包含整数n和m,表示字符串长度和询问次数。 第二行包含一个长度为n
阅读全文
摘要:题目描述: 给定一个包含n个点(编号为1~n)的无向图,初始时图中没有边。 现在要进行m个操作,操作共有三种: “C a b”,在点a和点b之间连一条边,a和b可能相等; “Q1 a b”,询问点a和点b是否在同一个连通块中,a和b可能相等; “Q2 a”,询问点a所在连通块中点的数量; 输入格式
阅读全文
摘要:一共有 n 个数,编号是 1∼n,最开始每个数各自在一个集合中。 现在要进行 m 个操作,操作共有两种: M a b,将编号为 a 和 b 的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作; Q a b,询问编号为 a 和 b 的两个数是否在同一个集合中; 输入格式 第一行输入整
阅读全文
摘要:在给定的 N 个整数 A1,A2……AN 中选出两个进行 xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数 N。 第二行输入 N 个整数 A1~AN。 输出格式 输出一个整数表示答案。 数据范围 1≤N≤105, 0≤Ai<231 输入样例: 3 1 2 3 输出样例: 3
阅读全文
摘要:实现一个单链表,链表初始为空,支持三种操作: 向链表头插入一个数; 删除第 k 个插入的数后面的数; 在第 k 个插入的数后插入一个数。 现在要对该链表进行 M 次操作,进行完所有操作后,从头到尾输出整个链表。 注意:题目中第 k 个插入的数并不是指当前链表的第 k 个数。例如操作过程中一共插入了
阅读全文
摘要:题目 给定 n 个区间 [li,ri],要求合并所有有交集的区间。 注意如果在端点处相交,也算有交集。 输出合并完成后的区间个数。 例如:[1,3]和[2,6]可以合并为一个区间[1,6]。 输入格式 第一行包含整数n。 接下来n行,每行包含两个整数 l 和 r。 输出格式 共一行,包含一个整数,表
阅读全文
摘要:我太急切的想要一个答案了。想要风光的学位,瞬间的博学,想要意气风发,想闪着金光走向喜欢的人。但现实告诉我,操之过急便会败北,他要我等,要我耐得住不断延长的时间线,要我交付出足够的努力堆砌在沉闷、晦涩的时光里,才肯将一切“我想要”一点一点递送至我手里。 here
阅读全文
摘要:AcWing算法基础课 模板—以题目为单位 快速排序 acwing785 #include<iostream> using namespace std; const int N = 1e6 + 10; int q[N]; int n; void quick_sort(int q[], int l,
阅读全文

浙公网安备 33010602011771号