自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 并查集(P1111修复公路)

因为这里需要解决的是连通性问题,使用并查集合并来不断缩小联通区域个数来达到目的,并且可以避免形成环。此外题目将每条边的代价从小到大排序,采用了贪心的思想来使得花费最小。最后就是为什么在这一题里面可以使用并查集。这里是代码,然后解释一下并查集。然后这里为了优化算法。

2025-04-04 10:16:56 153

原创 P1090合并果子(优先队列)

队列中存储的元素的数据类型,底层使用的容器类型,还有决定容器的优先级(这里是从小到大)首先让我们一起来学习一下优先队列(默认是从大到小来排列)a.empty() 查看队列是否为空返回1或者0。这个式子的变量每一个变量代表分别是。a.push(x)将x元素加入队列。这里使用的是优先队列,非常简单。然后还有这个队列的一些使用函数。a.size()返回队列的长度。a.pop()弹出顶层元素。a.top()得到顶层元素。

2025-03-30 21:14:04 161

原创 P1065作业调度方法

那么由于有mac数组,并且要按照一定顺序来进行加工,就可以做是在一条直线上找到合适的长度,这样的话就将所有时间压缩到一个最有效的状态,并且每一个机器都是一条完全崭新的直线,每个机器都互相不阻碍,每个工件也是按照顺序执行的,虽有工件工序之间也不会造成冲突。二维数组的存储方式,如果你理解了背包问题,那么你就可以很轻松的理解这个部分,然后这里面比较重要的就是mac数组,mac数组的话行元素代表机器,列元素代表加工的每个单位时间,对这个单位时间进行判断,可以得知这个时间是否有工件的工序在占用机器。

2025-03-25 09:01:14 161

原创 P1045麦森数

这里还是符合提议的高精度,因为数组存储是数组低位存储数据低位,再由减法的特性不够减的话要向前借一,那么这里代码的意思是从个位数开始找如果为0就向前一位借以,如果前一位为0还要向前借一位,一直进行这个操作直至这个位置不为0。要进行乘法运算的两个数组是a和b,temp数组的大小在这里是按照题意开出的大小,如果是实际运用数组的大小要开到a数组的大小加上b数组的大小还要多开几个大小,因为可能会有进位。表示(注意:数组的低位存储数字的低位,这样方便计算(这样是可以理解为从数组0开始是已知的比较方便)。

2025-03-20 16:17:15 408

原创 P1019单词接龙

写这一篇主要是想学习一下字符串连接在一起这个函数是string的一个成员函数,用于从字符串中提取字符串函数原型pos:子串的起始位置(从0开始)。len:子串的长度。如果未指定或超过字符串的长度,则提取从pos到字符串末尾的所有字符。返回值:一个新的字符串,包含从pos开始的len个字符。例如:tmp="abc"j=1,则tmp.substr(2)="c"j=2,则tmp.substr(1)=”bc"例如:s[i]="abc"j=1,则s[i].substr(0,1)="c"

2025-03-10 20:05:14 454

原创 P1016旅行家的预算(贪心一下)

题目简单描述一下一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离 D1​、汽车油箱的容量 C(以升为单位)、每升汽油能行驶的距离 D2​、出发点每升汽油价格P和沿途油站数 N(N 可以为零),油站 i 离出发点的距离 Di​、每升汽油价格 Pi​(i=1,2,…,N)。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输出。

2025-03-10 16:25:31 350

原创 sort函数和字符串现阶段总结

传递性cmp(a,b)为true,cmp(b,c)为true,则cmp(a,c)为true。4.适用性:适用于任何需要排序的场景,string,vector,结构体等等。2.返回值必须为bool类型,表示的是第一个参数是否应该在第二个参数之前。反对称性cmp(a,b) 为true,则cmp(b,a)为false;1.cmp函数必须接受两个参数,类型与待排序元素的类型一致。就是string 类型可以相加,表现得是字符串相加在一起。满足自反性cmp(a,a)返回值为false;

2025-03-07 11:31:54 171

原创 dp(P1115最大子段和)

前缀和大家不会的话自己回去搜一下,为什么会想到 前缀和 呢,首先题目是要求和,并且球的是一段连续的区域,所以就会想到用前缀和试试。但是把你深入会发现其实不管dp还是前缀和关键思维都是一样的。从第一个数字开始遍历,如果这个数字a加上先前的数的和sum比sum小,则将sum更新为a。然后我看到这个题,第一次没感觉以为模拟,第二次突然想到前缀和这个方法。给出一个长度为n的序列a,选出其中连续且非空的一段使得这段和最大。第二行有n个整数,第i个整数表示序列的第i个数字ai。第一行是一个整数,表示序列的长度n。

2025-03-06 21:47:19 153

原创 建议算法初学者都看一下吧P1109学生分组

由于本newbie有一篇文章被社区收录了,虽然本——水平比较差,但是这对于本——来说是一种莫大的鼓舞,同时本——也反思了自己,写文章还是要严谨一点并且用词要规范得体,所以以后除了私密的文章,其他的文章本——都会尽可能严肃的来完成每一篇文章。此外,本——写橙题写了一段时间了,现在打算进阶黄题,并且本——最近有点忙,可能更新的速度会慢很多,当然意思是刷题数量会下来,但是本——舍不得那三备,所以本——还是会尽可能多刷题的。感觉这既是思维的误区,也是大家思维习惯的体现。你会发现,很简单,简单到自己都想笑。

2025-03-05 18:15:25 176

原创 p1098字符串的展开(三目运算符代替for循环)

这篇原因是这个题目里面要求要组合在一起,如果使用for循环来解决的话则需要分类分很多,导致代码显得冗余。现在这里使用for循环分类,由于我自己敲的代码被删了。于是现在出现了一个神器三目运算符a?意思是如果a为真,则b成立,其中a,b,c可以为表达式。这里借用一下洛谷大佬的代码。如果a为假,则c成立。这样子我们就可以有选择。这个是三目运算符的算法。

2025-03-03 15:24:29 312

原创 这个关于二进制左移右移的题目

例如,数 $1314520$ 用二进制表示为 $0000\,0000\,0001\,0100\,0000\,1110\,1101\,1000$(添加了 $11$ 个前导 $0$ 补足为 $32$ 位),其中前 $16$ 位为高位,即 $0000\,0000\,0001\,0100$;后 $16$ 位为低位,即 $0000\,1110\,1101\,1000$。将它的高低位进行交换,我们得到了一个新的二进制数 $0000\,1110\,1101\,1000\,0000\,0000\,0001\,0100$。

2025-03-02 15:17:43 118

原创 由于学习了map容器但是使用的时候发现不会遂

然后最常用的方法就是匹配了,如何去解释我这个匹配呢,首先肯定是要有两个捆绑的息息相关的,并且你知道a想得到b,因为a的b是唯一的。所以当你判断另外一个c和a的关系的时候,就可以name[c]去查询b的值a。然后就是写入操作了,这里写一个我自己的ba(其实是我只会使用这种方法)这个map可以看作一个没有容量限制的数组啊。就比如我之前那个密码的题解。当然是我们的头文件啦。

2025-03-02 10:58:40 191

原创 P1093 [NOIP 2007 普及组] 奖学金

这种有很多个属性,并且要对这些属性进行操作,就像加法这种的,我感觉一般都要采用结构体,因为这里,每一个属性不是说单纯的参与进某一次运算而是需要记录下来,后面比较的时候还需要运用,并且需要排序,所以使用结构体我觉得是比较好的方法了,其实这个很简单就是他排序的规则有点多,所以sort自定义cmp函数的时候需要分清楚,其他的倒是没有难度。朋友们可喜可贺,一路绿灯啊。

2025-03-02 08:51:48 594

原创 关于拿我写的代码第一遍跑ai就过了P1087 FBI树

现在把题解写出来,这个使用的是DFS,其实我觉得吧,就是一直存储也是可以的,就是倒序遍历,但是主播觉得既然学了dfs发现可以用就实践一下,虽然主播自己写的代码再某些逻辑上会有点乱,但是跑了一遍ai就跑出来了,怎么不算是(ai)的进步呢。2.将这棵树一分为二,先遍历左子树,经历1和2步,然后当左子树遍历完以后再遍历右子树。FBI树的划分方法(我就不用什么专业的语言了,反正是写给自己看的)1.遍历这一整串字,判断这个字符串的类型,然后输出。4.N的作用就是输入的字符串是2的N次幂的长度。

2025-03-01 10:33:31 490

原创 曼哈顿(写基础题版P1086花生采摘)

表示花生田的大小为$M \times N(1 \le M, N \le 20)$,多多采花生的限定时间为$K(0 \le K \le 1000)$个单位时间。第$i + 1$行的第$j$个整数$P_{ij}(0 \le P_{ij} \le 500)$表示花生田里植株$(i, j)$下花生的数目,$0$表示该植株下没有花生。例如在图2所示的花生田里,只有位于 $(2, 5), (3, 7), (4, 2), (5, 4)$ 的植株下长有花生,个数分别为 $13, 7, 15, 9$。

2025-02-28 18:55:57 360

原创 关于质因数的分解 和 最大公因数与最小公倍数

{//一直除以质因子,直到有一次除出来结果是质数,说明分解质因数完毕。//还应注意的是必须是j<tmp,如果多一个=,那还分解什么合数,直接等于本身*1了。//tmp为临时保存i的值,防止i在后面的操作中被改变。{//判断是否为质数,因为分解质因数的前提是因子必须为质数的前提下。首先这两个部分的区别,我最先理解的不同是质因数是由一个数分解为两个没有其他共同质因子的正整数。{//这里j从二开始,因为我此时分解合数,最小的质数是2,所以从2开始。//如果判断为合数,就要用合数分解质因数的方法。

2025-02-27 16:40:56 556

原创 P107潜伏者

下面是代码,我们要知道map的这种存储方式的特殊功能,首先我觉得用在这一题里面最重要的功能就是一一对应,像这个题的要求就是需要密码和密码一一对应,不能重复出现,所以说定义两个map,一个存储加密前m对应加密后b,一个用来b对应a,然后为了保持密码的唯一性,在加入这个密码本的时候就要注意了,同时需要注意有没有重复,如果重复了话就说明这个密码加密是有问题的,最后如果二十六个字母全部加密完以后再开始对文本开始加密。此时就可以调用a密码本,以c(要加密的文本中的字母)里面的元素为键,来输出前对应的值。

2025-02-27 15:45:00 387

原创 P1068分数线的划分

我采用了结构体来存储,并且使用结构体的sort,自定义cmp函数,这个还是要记住因为今天写的时候还是有点忘记了。这里的还有count的划分,存储的时候是从0开始的所以这个边界还是要注意一下。这个想记录下来的原因是。

2025-02-26 21:20:27 282

原创 超时的一段代码,但是我认为还是比较有意义

string s1;int main()char C;='\n') {if(C!int sum=0;i<9;i++)else{i<9;i++)return 0;

2025-02-26 10:17:10 209

原创 我将会一直发,这个卡特兰

j表示已经入栈的元素。

2025-02-25 19:14:19 120

原创 乒乓球(洛谷普及组

所以这就解决了本道题最基础也是对于没有基础的我最难的一个部分。对于这种要输入存储并且还不定数量换行的题目,最开始使用的是。s+a='hello world'可以直接相加呀。}就是这样了还是十分基础的题目。下面把整篇题目的题解写出来。

2025-02-25 18:38:49 233

原创 数组去重vector容器版

但是后面拿去跑了以一下ai说是删除一个元素的同时会导致后面数字的下标发生变化。而后学习了一下unique的用法,但是具体原理没搞懂只知道用法。怎么说呢,最开始是觉得vector可以随机erase数字出来。

2025-02-12 11:14:51 95

原创 小明为某机构设计了一个十字型的徽标(并非红十字会)题目

图形题

2025-02-10 15:51:55 527

原创 优快云有没有活人能帮菜鸟看看

string s;int j=0;int i=0;l=a.size();for(i=l-1;i>=0;i--)int t=0;for(i=0;i<l;i++)a[i]+=b[i];a[i]%=n;return a;i<l;i++)int main()cin>>n>>s;i<s.size();i++)else{while(

2025-02-04 21:02:12 345

原创 乘阶之和(高精度,vector容器)

cout << "输入无效,请输入一个整数。" << endl;cout << "输入不能为负数。" << endl;个人认为使用的方法思路简单,且代码简介。// 检查输入是否为有效的整数。// 处理输入为负数的情况。下面仅附上代码,不做过多解释。题目来自洛谷P1009。

2025-02-02 10:09:17 336

原创 乘阶之和(高精度)debug求助 通过率五十

从1开始想加,并由A=sum+A来更新乘阶之和,A来迭代乘阶。分别用两个动态数组sum表示和,A数组表示i的阶乘。但是这个程序运行出来结果为0。如果打印A的值的话则没问题。求助大佬帮忙看看那里有问腿。使用vector动态数组。

2025-02-01 20:51:30 187 1

空空如也

空空如也

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

TA关注的人

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