151219总结

SDOI2015D1
T1
给出二阶递推式Fn = Fn-1 + aFn-2 + b ,和数列{An} ,每次修改可以将A[l..r]加一或减一,每次询问 sigma{F[A[i-1] + 1] * F[A[i+1] - 1]} (l<i<r)
因为 An 可以达到 2*1e9,所以求 Fn 的时候可以用矩乘来优化,每次修改时,可以用线段树,但修改区间每次只能操作一次,即操作次数 = 标记数,但是可以卡过。。。


复杂度:玄学


需要的知识:矩阵乘法 + 线段树


T2
裸搜索 35 分,某大神记录了每个点搜索的次数,若达到一定的值,就不搜了,不保证正确性,但是是骗分的好方法,拿到了将近80分orz,正解还不会→→


T3
假设N >= M,L = (N + M) >> 1,将左侧长为的字符串倍长,再将后面 N-L 的串与 M 串用字符串哈希查找。对M > N 也一样(我好像做复杂了。。。)
/*
我才不会说如果你将题看成了可以旋转任意长度子串(同翻转),也可以A。。。
数据水 ++
*/


需要的知识:字符串哈希


3道题都卡常-_-|||

你可能感兴趣的:(总结)