【氵总结】2020.10.7 A

估:100+20+50=170

实:80+15+30=125

T1:DNA序列

给出一个字符串,求长度为k的所有连续子串中,出现次数最多的那个的出现的次数

用的类似hash值,数组没开到模数大小挂了20分

4进制转十进制表示,记录一下即可

T2:数列递推

给出一个集合s,现有递推关系:A(i+2)=Ai+k*A(i+1),k为正整数

显然当连续两个同号时,符号不会再发生变化

设bi为ai绝对值,在符号反复横跳阶段,易得bi =bi-2 -k*bi-1

绝对值单调不上升,则bi-2 >=bi *(k+1),因此找到连续两个同号的复杂度为log级别

同号后A的绝对值上升极快,类比斐波那契,因此可以将A0~Ax 全部推出来,x满足Ax 的绝对值最大

然后随便搞搞

考场时想到可以去找这个的位置,但似乎会很慢,于是秒放弃了,去氵35分

T3:七曜圣贤

最开始车上有编号0~a的红茶(?),每个时刻可能发生三种事件,1:往车里加入一个编号x的 2:去掉一个出现过的编号x的 3:捡回一个最早被去掉的

询问每个(发生了事件的)时刻的最小的不在车内的红茶(?)

题目跟题面好像没有多大关系(?)

马上想到线段树,虽然切不掉但本着能氵多少氵多少的原则打了

然后得到了WA30的好成绩

可知被扔出去的会按顺序捡回来,假如存在di > dj ,且i<j,则di 不会对答案产生任何影响

可用单调队列维护扔出去的,再用指针维护最小的未在车内出现过的,取min即可

T4:旅游路线

没看【微笑】

T3还是挺简单的,思路复杂了

T2还是要勇于尝试,没准就把结论试出来了呢?

思维难度较高的还是听不懂

原文地址:https://www.cnblogs.com/namevastblog/p/13777985.html