uva10829 L-Gap Substrings
2024-09-03 11:26:24
- 题意
给出一个长度为\(n(\leqslant 50000)\)的字符串,求形如\(\mathrm{UVU}\)形式的字串,其中\(\mathrm{V}\)的长度给定。 - 题解
枚举\(\mathrm{U}\)的长度\(L\),考虑第一个\(\mathrm{U}\)的出现位置,显然每一个这样的\(\mathrm{U}\)都必然覆盖且仅覆盖一个\(kL,k \in N\)的位置,那么我们考虑在这个位置统计到它,对于一个\(kL\)的位置,它对答案的贡献是\(\max(\min(L, lcp_{pre}(i, i + L + h)) + \min(L, lcp_{suf}(i, i + L + h))\),\(lcp_{pre}, lcp_{suf}\)分别表示前缀和后缀的最长公共子串。
根据调和级数,复杂度为\(O(n\log n)\) - code
最新文章
- # C/C++的笔试题目
- vmware安装linux6.3
- uglifyjs压缩批处理
- Atitit。如何实现dip, di ,ioc ,Service Locator的区别于联系
- eclipse设置项目发布到tomcat webaap下
- Swift - 29 - 参数的默认值
- cf479D Long Jumps
- UVA 10905 Children's Game 孩子的游戏 贪心
- python中文编码问题深入分析(一):字符编码基础
- 每天一个Linux命令(05)--rm命令
- java webservice简单的例子
- JQuery 中$(";input:eq(0)";) eq 的意思
- ES5与ES6中的继承
- 深度学习原理与框架-递归神经网络-RNN_exmaple(代码) 1.rnn.BasicLSTMCell(构造基本网络) 2.tf.nn.dynamic_rnn(执行rnn网络) 3.tf.expand_dim(增加输入数据的维度) 4.tf.tile(在某个维度上按照倍数进行平铺迭代) 5.tf.squeeze(去除维度上为1的维度)
- 只打开一次浏览器,生成html测试报告<;小紧张中......>;
- 关于Java与Map的那点事
- Redis中取得所有Key、过期时间配置与获取、Key过期通知。
- jetty 代码启动
- let和var定义变量的区别
- Ant demo