- 博客(40)
- 收藏
- 关注
原创 [模拟 + 贪心 + 堆]除2!
给一个数组,一共有 𝑛 个数。你能进行最多 𝑘 次操作。现在你进行不超过 𝑘 次操作后,让数组中所有数之和尽可能小。请输出这个最小的和。第一行输入两个正整数 𝑛 和 𝑘 ,用空格隔开第二行输入 𝑛 个正整数 𝑎_𝑖1≤n≤1000001≤k≤1091≤ai≤109一个正整数,代表和的最小值。输入5 3输出24说明对8操作2次,对10操作1次,最后的数组是2 4 2 5 11。可以证明这样的操作是最优的。
2025-04-18 09:30:00
1030
原创 [动态规划 线性DP]221826 DP39 字母收集
有一个 n∗m 的矩形方阵,每个格子上面写了一个小写字母。小红站在矩形的左上角,她每次可以向右或者向下走,走到某个格子上就可以收集这个格子的字母。小红非常喜欢 "love" 这四个字母。她拿到一个 l 字母可以得 4 分,拿到一个 o 字母可以得 3 分,拿到一个 v 字母可以得 2 分,拿到一个 e 字母可以得 1 分。她想知道,在最优的选择一条路径的情况下,她最多能获取多少分?
2025-04-17 09:30:00
762
原创 [动态规划]NC296 DP4 最小花费爬楼梯
给定一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用,下标从0开始。说明:你将从下标为1的台阶开始,支付5 ,向上爬两个台阶,到达楼梯顶部。1.支付 1 ,向上爬两个台阶,到达下标为 2 的台阶。2.支付 1 ,向上爬两个台阶,到达下标为 4 的台阶。3.支付 1 ,向上爬两个台阶,到达下标为 6 的台阶。4.支付 1 ,向上爬一个台阶,到达下标为 7 的台阶。5.支付 1 ,向上爬两个台阶,到达下标为 9 的台阶。你将从下标为 0 的台阶开始。
2025-04-16 09:30:00
939
原创 初识C++
本文介绍了C++的发展历史、版本更新、参考文档、重要性、学习建议和书籍推荐、简单的C++程序、命名空间、输入&输出、缺省参数、函数重载、引用、inline内联函数、nullptr等C++入门内容
2025-01-24 08:30:00
799
原创 [蓝桥杯每日一题]验证回文串
本题考查的是语言中常用字符(串)相关 API 的使用。本题解会给出解题思路以及参考代码,如果代码中有读者不熟悉的 API,可以自行查阅资料学习。
2024-12-16 09:00:00
653
原创 C语言实现数据结构之排序
介绍了插入排序、选择排序、希尔排序、堆排序、快速排序、归并排序、计数排序。探讨了各种排序的时间复杂度和空间复杂度、稳定性等和部分排序的递归和非递归。
2024-12-09 09:00:00
1504
原创 C语言实现数据结构之二叉树
本篇文章我们介绍了树的相关概念,用C语言实现了一棵二叉树的相关方法,如:前序遍历,中序遍历,后序遍历,层序遍历,创建销毁等,并完成了相关的OJ题
2024-11-15 08:00:00
745
原创 为什么18446744073709551615 == -1
在我们使用string::npos 和 vector.size() -1时,可能会得到这串数字:18446744073709551615,然而,当我们输入18446744073709551615 == -1 时,却发现它们居然相等,这是为什么呢
2024-10-17 15:44:29
1147
原创 C语言实现数据结构之队列
介绍了队列的概念和结构,并用C语言实现基于单链表的队列,完成了部分队列的OJ题,如:循环队列、用栈实现队列,用队列实现栈
2024-08-11 09:30:00
1412
原创 算法的时间复杂度和空间复杂度
介绍了算法的时间复杂度和空间复杂度、表示它们的大O表示法、如何确定一个算法的时间复杂度和空间复杂度和一部分OJ题目,如:消失的数字、轮转数组
2024-08-10 09:00:00
1522
原创 单链表的相关OJ题
单链表的OJ题,包含移除链表元素、反转链表、合并两个有序链表、链表的中间结点、环形链表的约瑟夫问题、返回倒数第 k 个节点、链表的回文结构、相交链表、环形链表、随机链表的复制和基于单链表再实现通讯录项目
2024-08-09 12:45:47
892
原创 C语言指针详解(三)
前面我们了解了指针的指针的指针的绝大多数知识,现在,我们来了解回调函数的定义、使用以及意义,了解可以快速排序元素的函数——qsort的使用方法和模拟实现,以及sizeof和strlen的对比
2024-05-14 08:00:00
1130
原创 C语言指针详解(一)
对于C语言中的指针,很多人可能因为听说它的难度大,所以不愿意使用指针,但指针其实是C语言中非常方便的工具,如果能够使用好它,对程序的开发就会事半功倍,现在,我们来了解一下指针的基本用法。如何理解指针,指针类型是什么,以及什么是野指针,如何规避野指针,然后了解一下assert断言,运用得当可以帮助我们减少程序开发中的错误,最后了解传值调用与传址调用的区别
2024-04-19 19:58:42
932
1
原创 C语言分支与循环详解
C语言是结构化的程序设计语言,这里的结构指的是顺序结构、选择结构、循环结构,C语言是能够实现这三种结构的,其实我们如果仔细分析,我们日常所见的事情都可以拆分为这三种结构或者这三种结构的组合。我们可以使用 if 、 switch 实现分支结构,使用 for 、 while 、 do while 实现循环结构,还可以使用go to语句实现快速跳转。
2024-04-12 19:35:47
953
原创 C语言文件操作详解
当我们编写C语言程序时,我们向C语言程序传入的数据会在程序结束后消失。那么,有没有一种方法能使我们程序的数据保留下来,以后程序启动时再继续使用呢?答案就是创建一个文件,保存在计算机硬盘中,下次程序启动时读取即可。C语言也提供了文件操作相关的函数和指针,让我们一起来学习一下吧!
2024-03-29 23:31:22
1116
1
原创 HTML基础(一)
在我们上网浏览网页时,会发现各种制作精美的网页,这些网页往往包含文字、链接、图片、视频等各种各样的资源,那么这些网页是怎么实现的呢?我们打开开发工具查看源代码,可能会完全看不懂,仿佛一本难懂的天书,但我们静下心来,一步步学习相关知识,当我们掌握相关知识之后,这些“天书”表达的意思就一目了然了
2024-03-24 20:37:50
1639
1
原创 C语言动态内存管理
在我们使用C语言编写程序时,我们会创建变量,数组等,系统会自动为它们开辟好相应大小的空间,但是,如果我们想随心所欲的开辟一块内存空间,并按照我们的需要指定这块空间的大小,那该怎么办呢?答案就是动态内存管理。
2024-03-22 18:00:33
1313
1
原创 C语言结构体详解
详细介绍了结构体类型的相关知识,从基本语法:说明,定义,初始化,访问操作符,引用……到深入探讨:内存对齐,传参,位段……涉及结构体在内存中的存储和分配等知识。
2024-03-20 07:30:00
1357
1
原创 整数和浮点数在内存中存储
在我们使用C语言编写代码时,常常会用到整型数据和浮点型数据,那么它们在计算机内存中是怎么存储的呢?为什么有时候浮点型变量的输出结果会与我们输入的有细微差别呢?为什么有时候浮点数的输出与我们输入不一致呢?
2024-03-17 21:30:01
1279
1
原创 C语言模拟实现部分库函数
介绍部分字符串库函数的模拟实现,包括strlen,strcpy,strcat,strcmp,strstr,strncpy,strncat,strncmp,memcpy,memmove等函数的模拟实现以及其它字符,字符串和内存库函数的用法介绍
2024-03-16 12:17:26
1244
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人