- 博客(26)
- 收藏
- 关注
原创 蓝桥杯刷题--最大数组和
1.删除两个最小的宝石然后再删除最大的宝石与先删除最大的宝石然后再删除两个最小的宝石的操作是相同的,所以不关注这两次操作的顺序。假设删除了最小宝石的操作次数为m,当我们删除最大宝石时,剩下的就是从中删除了2m个最小宝石和(k一m)个最大宝石的数组。对原始数组排序后,每次操作要么删除最小的两个,要么删除最大的那个。因此,如果我们删除2m个最小宝石和(k一m)个最大宝石,则剩余的元素组成的段在排序后的数组中从位置(2m+1)到位置(n-(k-m)),可以从左到石遍历m,使用前缀和计算其总和。
2024-02-26 15:41:29
202
原创 蓝桥杯刷题--lanqiao3829(大石头的搬运工)
1.计算其他石头全移动到某个位置的代价并用一个数组存储的时间复杂度是o(n^2),一般是过不了的,要建立一个前缀和以及后缀和数组。3.用pre[i]表示将i位置石头前面的石头全移动到i位置的总代价。4.用nex[i]表示将i位置石头后面的石头全移动到i位置的总代价。2.将石头按位置排好序,pair默认按第一个关键字排序。2.设pair<int,int> p[n]1.用pair存储每堆个石头的位置和重量。5.比较并求出最小的总移动费用。
2024-02-26 14:54:25
535
原创 蓝桥杯刷题lanqiao3865--Alice和Bob的爱恨情仇
做编程题先解题再编程,先当数学题做,列出步骤后再编程。总数是偶数必然Bob赢,其余情况Alice赢。
2024-02-22 13:59:21
263
1
原创 蓝桥杯刷题-lanqiao 498(回文日期-模拟)
3.枚举日期(年从输入的year到9999,月从1到12,日从1到31,年相等月小的不要,年相等月相等日小于等于的不要)1.string到int和int到string的转换函数(int到string时最后记得翻转string)5.判断是否回文(a[i]==a[a.length()-i-1;6.判断是否是ABABBABA类型(先必须是回文,然后a[0]==a[2], a[1]==a[3])1.用cout<<setfill('0')<<setw(宽度)来实现输出整数时宽度不够左边补0。
2024-02-20 11:38:38
404
原创 蓝桥杯刷题--顺子日期(枚举)
顺子日期指的就是在日期的 yyyymmdd 表示法中,存在任意连续的三位数是一个顺子的日期。本题顺子的定义:i j k 是一个顺子,满足 i+1=j、j+1=k、i≥0。本题的结果为一个整数,在提交答案时只输出这个整数,输出多余的内容将无法得分。例如20220123 就是一个顺子日期,因为它出现了一个顺子:123;顺子指的就是连续的三个数字:123、456 等。而20221023 则不是一个顺子日期,它一个顺子也没有。小明想知道在整个2022年份中,一共有多少个顺子日期。
2024-02-17 15:08:51
1134
1
原创 蓝桥杯刷题---快递分拣、小明和完美序列(map,vector混合使用)
用一个map,其中一个城市对应一堆单号,再用个vector存储所有城市。
2024-02-17 14:55:36
443
1
原创 蓝桥杯备赛笔记---pair
/给里面的pair赋值时要用make_pair函数。//pair有两个模版参数,分别表示第一个值和第二个值的类型,first和second分别表示第一个和第二个。//pair自带的排序规则:按first升序排序,first相同按second升序排序。//pair可以嵌套,赋值里面pair时要使用make_pair函数。//用pair进行排序,借助vector和sort函数。//使用pair的实例。
2024-02-06 17:23:24
500
原创 线性代数之对行列式的初步认识
(1)定义:1,2......n组成的一个有序数组叫n级排列,1,2...n里面每个数都要有并且不能重复,并且1,2...n排列的种数有n!下三角、上三角、对角形行列式的值为对角线上的元素之积再乘以-1的n*(n-1)/2次方。行标取标准排列,列标取1,2...n排列的所有可能,符号由列标排列的奇偶性决定。(5)对换:交换排列中的两个数叫作一次对换,一次对换后该排列的奇偶性改变一次。符号由列标排列的逆序数和行标排列的逆序数之和决定。(3)偶排列:逆序数是偶数的排列。(4)奇排列:逆序数是奇数的排列。
2023-07-26 11:22:05
473
1
原创 CodeForces Bus of Characters
(2) 如果接下来上来的还是内向的人,那不能坐之前那个内向的人的排了,就坐宽度第二小的,也把宽度对应的结构体放在栈里,并输出这个结构体排的序号,同时也把结构体数组指针往后移一位,下次如果还是内向的人就没法坐这一排。(3)结构体数组是服务于内向的人的,stack栈是服务于外向的人的,内向的人从结构体数组中拿出排坐,坐了的排又进栈,外向的人从栈里面拿一个排出来和内向的人一起坐。(1)内向的人最好是第一个上车的,这样让之后上来的如果是一个外向的人,那他能面临一个最好的情况,就是和内向的人一起坐。
2023-07-04 16:25:02
222
原创 洛谷p1996
n 个人围成一圈,从第一个人开始报数,数到 m,m 的人出列,再由下一个人重新从 1开始报数,数到 m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。然后第一个人开始报数,如果报的数不是m,就把在队首报完数的那个人拉到队尾,同时下一个人补位。如果报的数是m,就输出这个人的编号,再直接把他删除,再从一开始报数。队列(queue)是只允许从队列尾部加入新的元素,在队首删除元素的线性表。q.pop() 拉出队列的首元素,无返回值。
2023-07-04 14:28:13
97
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅