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道题都卡常-_-|||
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值