身心疲倦啊,什么斜率优化啊,什么kmp匹配啊是真的麻烦,或许我太菜了 注:T5尚未解决
从我会的开始分析吧
T4.kmp,我们先构造next数组,然后如果这个地方用dfs搜索过是和之前的地方重复的话,下一个字符串可以从这里开始,否则输出0(不存在)
注:必须dfs一次,比如说类似ioio的字符串next数组的值为0012但是其实有用的是0010,因为2也是从1开始的,所以不能重复的计算。
然后判断有解因为每个点都可以填26个字符,于是快速幂跑一下就可以了(貌似同学没有写快速幂跑的还比我快喵喵??)
T3.二分搜索+特判,由于是等差数列,所以符合单调性,可以二分。因为每一次打掉是1,所以最多的长度要小于t(特判),然后运用小高斯定理就可以出来啦~
(英文不好读题都难啊。。)
T2.我的做法,搜索,比较每一个位置,然后爆搜。
同学的做法,二分,将47转化为01,然后打一个幂的表,二分每一位就可以出来了,因为符合单调性(4444,4447,4474,4477……)
T1.暴力打表,注意细节。
代码先不贴了,等T5弄明白补上。