估: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还是要勇于尝试,没准就把结论试出来了呢?
思维难度较高的还是听不懂