自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 收藏
  • 关注

原创 停车场管理系统(栈和队列的实现和应用)(cpp)

编制一个程序来模拟停车场的管理过程。设有一个可以停放n辆汽车的狭长停车场,它只有一个大门供车辆进出。车辆按到达停车场的先后次序停放在停车场中(最先到达的第一辆车停在停车场的最里面) 。如果停车场已停满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就可进入停车场。停车场内如果有某辆车要开走,在它之后进入停车场的车辆都必须先退出停车场为它让路,待其开出停车场后,再依照原来的次序进入。每辆车离开停车场时,根据自己在停车场内停留的时间交费。如果停在便道上的车辆未进

2024-04-23 17:20:51 231

原创 洛谷P1024[NOIP2001 提高组] 一元三次方程求解(cpp)(二分查找)

给出该方程中各项的系数($a,b,c,d$ 均为实数),并约定该方程存在三个不同实根(根的范围在 $-100$ 至 $100$ 之间),且根与根之差的绝对值 $\ge 1$。提示:记方程 $f(x) = 0$,若存在 $2$ 个数 $x_1$ 和 $x_2$,且 $x_1 < x_2$,$f(x_1) \times f(x_2) < 0$,则在 $(x_1, x_2)$ 之间一定有一个根。一行,$3$ 个实根,从小到大输出,并精确到小数点后 $2$ 位。一行,$4$ 个实数 $a, b, c, d$。

2024-01-04 18:08:22 473

原创 C++操纵符(manipulator)

C++操纵符(manipulator)

2023-06-02 23:03:58 332

原创 问题 Q: 【高精度】Oliver的成绩(C++)(高精度)

共3N+4行,第1至第3行分别为Oliver的语文、数学、英语成绩(位数M),第4行为N,以下3N行,每行一个数(它们的位数是M),分别为第N个同学的语文、数学、英语成绩。即:Oliver的语文数学英语。正好一次考试结束,Oliver想知道自己的语文、数学、英语成绩分别与语文年级第一、数学年级第一、英语年级第一的相差多少。共1行,有三个数,分别为Oliver的语文、数学、英语成绩与年级第一的差。对于100%的数据,0

2023-06-01 21:31:34 247

原创 AcWing 827. 双链表(C++)

题目中第 kk 个插入的数并不是指当前链表的第 kk 个数。例如操作过程中一共插入了 nn 个数,则按照插入的时间顺序,这 nn 个数依次为:第 11 个插入的数,第 22 个插入的数,…第 nn 个插入的数。现在要对该链表进行 MM 次操作,进行完所有操作后,从左到右输出整个链表。第一行包含整数 MM,表示操作次数。共一行,将整个链表从左到右输出。

2023-05-23 21:40:18 513

原创 AcWing 826. 单链表(C++)

题目中第 kk 个插入的数并不是指当前链表的第 kk 个数。例如操作过程中一共插入了 nn 个数,则按照插入的时间顺序,这 nn 个数依次为:第 11 个插入的数,第 22 个插入的数,…第 nn 个插入的数。现在要对该链表进行 MM 次操作,进行完所有操作后,从头到尾输出整个链表。第一行包含整数 MM,表示操作次数。共一行,将整个链表从头到尾输出。

2023-05-23 21:37:04 692

原创 AcWing 803. 区间合并(C++)(区间合并)

例如:[1,3][1,3] 和 [2,6][2,6] 可以合并为一个区间 [1,6][1,6]。给定 nn 个区间 [li,ri][li,ri],要求合并所有有交集的区间。接下来 nn 行,每行包含两个整数 ll 和 rr。共一行,包含一个整数,表示合并区间完成后的区间个数。注意如果在端点处相交,也算有交集。输出合并完成后的区间个数。第一行包含整数 nn。

2023-05-17 21:55:37 35

原创 AcWing 802. 区间和(C++)(离散化)(差分)

接下来,进行 mm 次询问,每个询问包含两个整数 ll 和 rr,你需要求出在区间 [l,r][l,r] 之间的所有数的和。现在,我们首先进行 nn 次操作,每次操作将某一位置 xx 上的数加 cc。假定有一个无限长的数轴,数轴上每个坐标上的数都是 00。再接下来 mm 行,每行包含两个整数 ll 和 rr。接下来 nn 行,每行包含两个整数 xx 和 cc。共 mm 行,每行输出一个询问中所求的区间内数字和。第一行包含两个整数 nn 和 mm。

2023-05-16 21:35:20 336

原创 AcWing 801. 二进制中1的个数(C++)(位运算)

位运算:求n的第k位数字:n >> k & 1返回n的最后一位1:lowbit(n) = n & -n。

2023-05-15 22:21:44 53

原创 AcWing 2816. 判断子序列(C++)(双指针)

给定一个长度为 nn 的整数序列 a1,a2,…,ana1,a2,…,an 以及一个长度为 mm 的整数序列 b1,b2,…,bmb1,b2,…而得的序列,例如序列 {a1,a3,a5}{a1,a3,a5} 是序列 {a1,a2,a3,a4,a5}{a1,a2,a3,a4,a5} 的一个子序列。第二行包含 nn 个整数,表示 a1,a2,…,ana1,a2,…第三行包含 mm 个整数,表示 b1,b2,…,bmb1,b2,…如果 aa 序列是 bb 序列的子序列,输出一行。子序列指序列的一部分项按。

2023-05-15 22:13:51 290

原创 AcWing 800. 数组元素的目标和(C++)(双指针)

第一行包含三个整数 n,m,xn,m,x,分别表示 AA 的长度,BB 的长度以及目标值 xx。请你求出满足 A[i]+B[j]=xA[i]+B[j]=x 的数对 (i,j)(i,j)。给定两个升序排序的有序数组 AA 和 BB,以及一个目标值 xx。第二行包含 nn 个整数,表示数组 AA。第三行包含 mm 个整数,表示数组 BB。1≤数组元素≤1091≤数组元素≤109。共一行,包含两个整数 ii 和 jj。数组长度不超过 105105。数组下标从 00 开始。同一数组内元素各不相同。

2023-05-14 21:50:55 62

原创 AcWing 799. 最长连续不重复子序列(C++)(双指针)

给定一个长度为 nn 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。第二行包含 nn 个整数(均在 0∼1050∼105 范围内),表示整数序列。共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。第一行包含整数 nn。

2023-05-14 21:48:25 34

原创 AcWing 798. 差分矩阵(C++)(差分)

输入一个 nn 行 mm 列的整数矩阵,再输入 qq 个操作,每个操作包含五个整数 x1,y1,x2,y2,cx1,y1,x2,y2,c,其中 (x1,y1)(x1,y1) 和 (x2,y2)(x2,y2) 表示一个子矩阵的左上角坐标和右下角坐标。接下来 qq 行,每行包含 55 个整数 x1,y1,x2,y2,cx1,y1,x2,y2,c,表示一个操作。−1000≤矩阵内元素的值≤1000−1000≤矩阵内元素的值≤1000。第一行包含整数 n,m,qn,m,q。请你将进行完所有操作后的矩阵输出。

2023-05-14 21:36:12 458

原创 AcWing 797.差分(C++)

接下来输入 mm 个操作,每个操作包含三个整数 l,r,cl,r,c,表示将序列中 [l,r][l,r] 之间的每个数加上 cc。−1000≤整数序列中元素的值≤1000−1000≤整数序列中元素的值≤1000。接下来 mm 行,每行包含三个整数 l,r,cl,r,c,表示一个操作。共一行,包含 nn 个整数,表示最终序列。第二行包含 nn 个整数,表示整数序列。第一行包含两个整数 nn 和 mm。输入一个长度为 nn 的整数序列。请你输出进行完所有操作后的序列。

2023-05-14 21:33:30 503

原创 AcWing 796. 子矩阵的和 (C++)(前缀和)

输入一个 nn 行 mm 列的整数矩阵,再输入 qq 个询问,每个询问包含四个整数 x1,y1,x2,y2x1,y1,x2,y2,表示一个子矩阵的左上角坐标和右下角坐标。接下来 qq 行,每行包含四个整数 x1,y1,x2,y2x1,y1,x2,y2,表示一组询问。−1000≤矩阵内元素的值≤1000−1000≤矩阵内元素的值≤1000。接下来 nn 行,每行包含 mm 个整数,表示整数矩阵。第一行包含三个整数 n,m,qn,m,q。共 qq 行,每行输出一个询问的结果。

2023-05-14 21:29:37 287

原创 AcWing 795. 前缀和(C++)

接下来 mm 行,每行包含两个整数 ll 和 rr,表示一个询问的区间范围。−1000≤数列中元素的值≤1000−1000≤数列中元素的值≤1000。对于每个询问,输出原序列中从第 ll 个数到第 rr 个数的和。接下来再输入 mm 个询问,每个询问输入一对 l,rl,r。第二行包含 nn 个整数,表示整数数列。共 mm 行,每行输出一个询问的结果。第一行包含两个整数 nn 和 mm。输入一个长度为 nn 的整数序列。

2023-05-14 21:26:22 317

原创 AcWing 792. 高精度减法(C++)

给定两个正整数(不含前导 00),计算它们的差,计算结果可能为负数。1≤整数长度≤1051≤整数长度≤105。共两行,每行包含一个整数。共一行,包含所求的差。792. 高精度减法。

2023-05-14 17:35:08 36

原创 AcWing 791. 高精度加法(C++)

1≤整数长度≤1000001≤整数长度≤100000。给定两个正整数(不含前导 00),计算它们的和。共两行,每行包含一个整数。共一行,包含所求的和。791. 高精度加法。

2023-05-13 17:37:04 38

原创 AcWing 790. 数的三次方根(C++)(浮点二分)

给定一个浮点数 nn,求它的三次方根。共一行,包含一个浮点数,表示问题的解。共一行,包含一个浮点数 nn。注意,结果保留 66 位小数。790. 数的三次方根。

2023-05-13 11:23:29 31

原创 AcWing 788. 逆序对的数量(C++)(归并排序)

逆序对的定义如下:对于数列的第 ii 个和第 jj 个元素,如果满足 ia[j],则其为一个逆序对;给定一个长度为 nn 的整数数列,请你计算数列中的逆序对的数量。数列中的元素的取值范围 [1,109][1,109]。第二行包含 nn 个整数,表示整个数列。第一行包含整数 nn,表示数列的长度。输出一个整数,表示逆序对的个数。788. 逆序对的数量。

2023-05-12 23:31:44 30

原创 AcWing 787.归并排序(C++)(归并排序)

第二行包含 nn 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。输出共一行,包含 nn 个整数,表示排好序的数列。请你使用归并排序对这个数列按照从小到大进行排序。给定你一个长度为 nn 的整数数列。输入共两行,第一行包含整数 nn。并将排好序的数列按顺序输出。

2023-05-12 23:28:03 36

原创 AcWing 785.快速排序(C++)(快速排序)

第二行包含 nn 个整数(所有整数均在 1∼1091∼109 范围内),表示整个数列。输出共一行,包含 nn 个整数,表示排好序的数列。请你使用快速排序对这个数列按照从小到大进行排序。给定你一个长度为 nn 的整数数列。输入共两行,第一行包含整数 nn。并将排好序的数列按顺序输出。

2023-05-12 21:07:16 32

原创 问题 B: 跳石头(C++)(二分答案)

在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。由于预算限制,组委会至多从起点和终点之间移走M块岩石(不能移走起点和终点的岩石)。将与起点距离为 2 和 14 的两个岩石移走后,最短的跳跃距离为 4(从与起点距离 17 的岩石跳到距离 21 的岩石,或者从距离 21 的岩石跳到终点)。第一行包含三个整数L,N,M,别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。对于 100% 的数据,0≤M≤N≤50,000,1≤L≤1,000,000,000。

2023-05-11 22:27:32 432

原创 问题 I: 捕食关系(C++)(二分查找)

第一行有两个整数 m,n(1

2023-05-11 22:22:18 134

原创 问题 F: 同时出现的数(C++)(二分查找)

Medusa同学拿到了2组数字,老师请你编程帮他找出,第2组数中的哪些数,在第1组数中出现了,从小到大输出所有满足条件的数。对于100%的数据1≤n,m≤100000,每个数

2023-05-10 22:02:19 1267 1

原创 问题 E: 起止位置(C++)(二分查找)

王老师想要查询,年龄为x的同学,在队伍中首次出现的位置和最后一次出现的位置;如果队伍中不存在年龄为x的同学,请输出-1。请注意:本题中王老师查询年龄x出现的起止位置,并不是查询了1次,而是查询了q次。共q行,每行包含两个整数,表示所求年龄在队伍中的起始位置和终止位置。年龄为8的同学首次和最后一次出现的位置分别是:-1 -1;年龄为2的同学首次和最后一次出现的位置分别是:2 4;年龄为1的同学首次和最后一次出现的位置分别是:1 1;年龄为3的同学首次和最后一次出现的位置分别是:5 6;

2023-05-10 22:00:32 1334

原创 问题 D: 二分查找满足条件的数(C++)(二分查找)

比如有6个数,分别是:1 2 2 2 6 6,那么如果要求3个数:5 8 2,在数组中找到第1个大于或等于他们的位置,答案是:5 -1 2。请在一个有序不递减的数组中(数组中的值有相等的值),采用二分查找,找到第1个大于或等于元素x的位置,如果不存在,请输出-1。第二行,n个整数,用空格隔开,代表数组的n个元素(1

2023-05-10 21:57:55 1363

原创 问题 C: 二分查找右侧边界(C++)(二分查找)

时间限制: 1.000 Sec 内存限制: 128 MB题目描述请在一个有序不递减的数组中(数组中的值有相等的值),采用二分查找,找到最后1次出现值x的位置,如果不存在x请输出-1。请注意:本题要求出q个x,每个x在数组中第一次出现的位置。比如有6个数,分别是:1 2 2 2 3 3,那么如果要求3个数:3 2 5,在数组中最后一次出现的位置,答案是:6 4 -1。输入第一行,一个整数n,代表数组元素个数(n

2023-05-10 21:55:51 1251

原创 问题 B: 二分查找左侧边界(C++)(二分查找)

比如有6个数,分别是:1 2 2 2 3 3,那么如果要求3个数:3 2 5,在数组中第一次出现的位置,答案是:5 2 -1。请在一个有序不递减的数组中(数组中有相等的值),采用二分查找,找到值x第1次出现的位置,如果不存在x请输出-1。输出1行,含q个整数,按题意输出要找的每个数在数组中首次出现的位置,如果不存在这样的数,请输出-1。第二行,n个整数,用空格隔开,代表数组的n个元素(1

2023-05-10 21:54:28 543

原创 入阵曲(C++)(前缀和)

如果把一个子矩形用它的左上角和右下角描述为 $(x_1,y_1,x_2,y_2)$,其中$x_1 \le x_2,y_1 \le y_2$;取而代之的,是一个简单的小 问题。这些矩形是符合要求的: (1, 1, 1, 3),(1, 1, 2, 2),(1, 2, 1, 2),(1, 2, 2, 3),(2, 1, 2, 1),(2, 3, 2, 3)。输入接下来 $n$ 行,每行包含 $m$ 个正整数,第 $i$ 行第 $j$ 列表示矩阵中第 $i$ 行第 $j$ 列 中所填的正整数 $a_{i,j}$。

2023-04-25 22:41:05 477

原创 Contiguous Repainting(C++)(前缀和)

时间限制: 2.000 Sec 内存限制: 256 MB。

2023-04-25 22:37:43 487

原创 Fancy 的区间(C++)(前缀和&差分)

Fancy 每次想两个数字,然后把这两个数字之间(包括这两个数字)的格子涂黑。突然成绩出来了,Fancy 跑去听成绩了,不小心把纸掉在了地上。接下来m行,每行两个数x和y,表示将x 到y之间的格子涂黑。4.输出时区间按左端点排序,且不允许出现前后两个区间可以合并的情况,如 1 3 和 4 5 要输出 1 5;对于100%的数据,1≤n≤1000000,1≤m≤500000,1≤x≤y≤n。输出若干行,每一行两个数x和 y,中间用空格隔开,表示从x到 y 之间是白色的。3.如果只有一个点x,则输出 x x;

2023-04-25 18:35:23 515

原创 洛谷P1632 点的移动(前缀和)(C++)

点的移动## 题目描述平面上有 $N$ 个整数坐标点。如果将点 $(x_0,y_0)$ 移动到 $(x_1,y_1)$,则需要的代价为 $|x_0-x_1|+|y_0-y_1|$。求使得 $K(K=1, \cdots ,N)$ 个点在同一位置上最少需要的代价。## 输入格式第一行一个正整数 $N$;接下来 $N$ 行,每行两个正整数 $x_i$ 和 $y_i$,为第 $i$ 个点的坐标,不超过 $10^6$。【数据规模】。

2023-04-19 17:58:06 56

原创 洛谷P1387 最大正方形(前缀和)(C++)

最大正方形## 题目描述在一个 $n\times m$ 的只包含 $0$ 和 $1$ 的矩阵里找出一个不包含 $0$ 的最大正方形,输出边长。## 输入格式输入文件第一行为两个整数 $n,m(1\leq n,m\leq 100)$,接下来 $n$ 行,每行 $m$ 个数字,用空格隔开,$0$ 或 $1$。## 输出格式一个整数,最大正方形的边长。## 样例 #1### 样例输入 #1``````### 样例输出 #1```2```

2023-04-19 17:34:52 89

原创 问题 A: ab Knight(C++)(BFS)

In chess, a knight is the only piece that can “jump” over pieces. Namely, a typical knight can move 1 square up, down, left or right, followed by 2 squares in a perpendicular direction. Thus, if a knight is at square (x, y), after its jump it can end up at

2023-04-07 22:26:35 194

原创 问题 A: 【贪心】活动安排3(C++)

问题 A: 【贪心】活动安排3时间限制: 1.000 Sec 内存限制: 128 MB题目描述设有n个活动的集合E={1,2,..,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si

2023-03-22 14:30:42 48

原创 问题 B: 64位整数乘法(C++)(快速幂)

求 a 乘 b 对 p 取模的值,其中 1≤a,b,p≤10^18。时间限制: 1.000 Sec 内存限制: 128 MB。一个整数,表示a*b mod p的值。第一行a,第二行b,第三行p。问题 B: 64位整数乘法。

2023-03-19 20:56:57 90

原创 问题 A: 【快速幂】a^b(C++)(快速幂)

问题 A: 【快速幂】a^b时间限制: 1.000 Sec 内存限制: 128 MB题目描述求 a 的 b 次方对 p 取模的值,其中 1≤a,b,p≤109输入三个用空格隔开的整数a,b和p。输出一个整数,表示ab mod p的值。

2023-03-19 19:58:38 78

原创 [Vector]括号配对问题(C++)(栈)

第一行输入一个数N(0

2023-03-19 19:49:43 70

原创 洛谷 P8662 [蓝桥杯 2018 省 AB] 全球变暖(C++)(BFS)

由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图就有 $2$ 座岛屿。照片保证第 $1$ 行、第 $1$ 列、第 $N$ 行、第 $N$ 列的像素都是海洋。第一行包含一个整数 $N$。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。蓝桥杯 2018 年第九届省赛。以下 $N$ 行 $N$ 列代表一张海域照片。

2023-03-11 10:36:15 278

试卷管理系统 (C语言)程序设计实验 源文件.zip

老师在教学过程中,会经常以试卷的形式来检验学生的学习情况。现在由你来帮助老师设计一个试卷自动生成系统,完成从已有题库(题库包含2个文件,1个是选择题题库文件,1个是填空题题库文件)中随机提取指定题目书的题目生成一份新的试卷。该系统生成的试卷中只有2种题型:单项选择题、填空题(只有一个空)。其中单项选择题包括题目编号、题目、选项A、选项B、选项C、选项D、答案。填空题包括题目编号、题目、答案 功能:(1)试题添加:向试题库追加写入一道新的题目,要求题目编号自动生成,且与已存题目的编号不重复;所有内容不能为空。即不断充实题库;(2)试题删除:通过题目编号进行题目的删除,如果删除成功则提示删除成功,否则提示删除失败;(3)备份全部题目;(4)删除全部题目;(5)试题修改:通过题目编号查找对应题目,并修改指定的题目的内容,注意不是修改题目的全部内容,而是可以针对性的修改局部内容(6)试题查询:通过题目编号查询指定的题目的所有内容;(7)统计共有多少道题目;(8)查询题目中含有某个特定内容(用户输入)的所有题目内容(9)自动随机生成由单项选择题、填空题合在一起的试卷及标准答案2个文件······

2023-01-25

口算比赛 (C语言)程序设计实验 源文件.zip

内容概要:某小学要进行口算比赛,针对不同年级要出不同类型的题目,现要求编写2个程序,一个是出题程序(老师完成出题任务),另一个是答题程序(学生完成答题任务)。 适合人群:C语言初学者 ps:主要应用数组和文件

2023-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除