要我说,这会挑战赛真的是
大体说一下:这次挑战赛难度不高,没使用到什么高阶算法,下面的表是答题知识点
题目 知识点
1 分支结构
2 回文数串
3 预处理+模拟
4 结构体排序
5 前缀和
6 双指针
接下来我来详细解释一下题目
第一题
题意分析:很明显,这是一道简单的分支结构
思路:将一级二级三级凤梨酥依次判断,不要忘了要用else
代码
第二题
题意分析:找到重量(NNNi)是回文数的凤梨,注意:范围要在500g−10000g之间我写代码时就有这个错误
思路:在数组中找到重量适合的凤梨,在判断凤梨的重量是否为回文数,是则cnt++;
代码:
第三题
题意分析:当这一列所有元素都为1时,可以上课,最多连续上几天
思路:先做好预处理,把能上的都标记出来,然后求最长子串的长度(标记可以用bool vis[1000010])
代码:
第四题
题意分析:主人公只可以在没有客人的时候摸鱼
思路:使用结构体,设come和leave,那n+1.c-n.l(-1)/a,因为时间点和时间段的差异,注意:这种方法需要总工+1,因为T是时间点
代码:
第五题
题意分析:在【l,r】区间找到合适的k
思路:把输入的数组差分一下,然后计算每个甜度的推荐次数,标记合适的甜度,数组存好,查找就行了(由于数组较多,我会注释他们是干什么的)
第六题
题意分析:数组中存在一对整数 [i,j]满足Ai-Aj>=k,就是美丽的,求美丽的连续子序列的个数
思路:既然是有i,j两个元素,还在移动,说明使用了双指针,那么我们就可以定义双向队列,使用双指针思想,循环遍历就行