- 博客(24)
- 收藏
- 关注
原创 关于 hello world 的一点浅析
众所周知,hello world 是所有OIer的第一道难关,今天,我通关了!需要注意的事项,都注释到代码里面了,这是我的一小步,接下来我将迈出一大步!我以此篇题解抛砖引玉,希望各位大佬不吝赐教,抱拳了!
2023-08-29 15:30:00 59 1
原创 c++月赛题目参考
小卓是一名热爱探险的少年,一天,他听说了一个关于神秘森林的传说,据说里面藏有古老的宝藏。神秘森林里有N棵树,每棵树上都有一个数字,小卓需要从第一棵树开始,每一步可以跳到相邻的树上,他的目标是找到一条路径,使得经过的树上的数字总和最大。有一天,图书馆系统突然崩溃,小卓只能通过手动记录来恢复数据,他记录了M次借阅操作,每次操作包含一个借阅和一个归还。但是,小卓的预算有限,他想知道,最少需要准备多少个礼物,才能满足所有朋友的愿望。输出一个整数,表示小卓能够达到的最大数字总和,如果无法到达最后一棵树,则输出-1。
2024-07-27 15:16:21 352
原创 【干货讲义】动态规划算法
定义dp[i][j]表示考虑前i个物品,背包容量为j时能获得的最大价值。动态规划是一种强大的算法设计技巧,它通过避免重复计算来优化复杂问题的解决方案。掌握动态规划需要理解其基本思想,识别问题中的最优子结构和状态转移关系,并能够灵活地应用到不同的问题中。
2024-05-05 20:04:23 329
原创 C++<优先队列>
/ x小的优先级高 //也可以写成其他方式,如: return p[x] > p[y];表示p[i]小的优先级高//定义方法//其中,第二个参数为容器类型。第三个参数为比较函数。
2024-05-05 20:01:54 665
原创 STL详解
STL(Standard Template Library),即标准模板库,是一个高效的C++程序库被容纳于C++标准程序库(C++ Standard Library)中,是ANSI/ISO C++标准中最新的也是极具革命性的一部分包含了诸多在计算机科学领域里常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架,高度体现了软件的可复用性从逻辑层次来看,在STL中体现了泛型化程序设计的思想(generic programming)
2024-04-20 10:01:33 533
原创 c++数据结构之栈
栈(Stack)是由有限个数据类型相同元素组成的有序集合,对元素的操作只能在栈顶进行,遵循后进先出(Last In,First Out)的原则,其相关运算有创建空栈、判空、判满、入栈、出栈等。
2024-04-20 10:00:07 291
原创 csp-j2022-2023解析
对于每个 j,我们需要计算在站点 j 加油所需的花费,以及从 j 到 i 之间需要的油量。然而,由于这个问题的复杂性,可能需要一些高级的数论知识和算法优化来有效地处理大规模的数据。为了解决这个问题,我们需要编写一个程序来计算一元二次方程的解,并根据题目要求的格式输出结果。在这个过程中,我们可以添加新的点来连接断开的路径,或者通过添加点来形成一个闭环,从而增加路径的长度。我们需要根据道路的开放时间来更新图中边的权重。这个问题是一个典型的数学问题,涉及到数论中的一些概念,特别是关于整数的因式分解和二次剩余。
2024-04-20 09:56:19 934
原创 [NOIP2002 普及组] 过河卒题解
卒从点 A 到点 B 的路径数可以通过计算从 A 到 B 的路径中不经过马控制点的路径数,然后减去那些经过马控制点的路径数来解决。马的移动规则是“日”字形,即可以移动到正上方两个单位再向左或右一个单位,或者正上方一个单位再向左或右两个单位,反之亦然。这段代码首先计算了从起点到终点的总路径数,然后计算了那些会经过马控制点的路径数。最后,它输出了两者的差值,即卒能够到达终点的路径数。我们可以先计算从 A 到 B 的总路径数,然后减去那些会经过马控制点的路径数。根据样例输入 #1,这段代码应该输出。
2024-04-20 09:30:34 199
原创 对齐输出 题解
setfill为设置填充字符,setw为设置字符长度。用iomanip的setfill就好了。题目要求空一格再将数字变为八字符长度。
2023-08-24 00:30:00 53 1
原创 浅析冒泡排序
对于给定序列,不管一开始元素是如何排列的,给含有n 个元素的数组排序总需要遍历n-1 轮,每当一个元素被移动到右侧,即排序好一个元素,剩余元素的比较次数也相应减少1轮,那么总比较次数即为(n-1)+(n-2)+…冒泡排序作为最基础的交换排序算法,通常被认为是效率最低的排序算法,因为在确定最终的位置前,必须交换元素,但由于冒泡排序会对未排序元素进行完全遍历,它也具有其他排序算法没有的用途,那就是在应对部分有序的序列时,可以通过优化代码,大大提高运行速度,这就是所谓的短冒泡。冒泡排序到此告一段落,你学费了吗?
2023-08-23 16:07:48 60
原创 算法 (一、排序算法)
(对基本排序算法的时间复杂度分析主要考虑 比较次数、数据交换次数)冒泡排序:针对数组、本地排序、需要交换数据。O(1)额外空间选择排序:一般针对数组、本地排序、需要交换数据。O(1)的额外空间插入排序:可以是针对数组的本地排序,此时需要移动大片数据,但是比较次数是O(N*logN)。如果是针对链表,比较次数是O(N^2),但是不需要交换数据。注意:一般排序都是针对数组的本地排序,数组与链表相比,可以随机访问,空间使用效率更高(链表需要存放指针),而链表一般对于插入与删除操作有更好的性能。
2023-08-22 16:14:34 63
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人