摘要: 题意:给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 分析: manacher算法: 1、将字符串中每个字符的两边都插入一个特殊字符。(此操作的目的是,将字符串长度统一变成奇数,道理很容易想 奇数+偶数=奇数or偶数+奇数=奇数) eg:abba >#a#b# 阅读全文
posted @ 2017-04-22 22:52 Somnuspoppy 阅读(248) 评论(0) 推荐(0)
摘要: 题意:给定一个,其实是由一个图按蛇形输出而成的字符串,要求按从左到右,从上到下的顺序输出这个图。 分析: 1、把字符串转化成图 2、按要求输出图= = 阅读全文
posted @ 2017-04-22 22:07 Somnuspoppy 阅读(223) 评论(0) 推荐(0)
摘要: 题意:给定n个木棍的l和w,第一个木棍需要1min安装时间,若木棍(l’,w’)满足l' >= l, w' >= w,则不需要花费额外的安装时间,否则需要花费1min安装时间,求安装n个木棍的最少时间。 分析: 1、将木棍按l排序后,实质上是求按w形成的序列中的最长递减子序列。 eg: 5 4 9 阅读全文
posted @ 2017-04-22 21:55 Somnuspoppy 阅读(272) 评论(0) 推荐(0)
摘要: 题意:从左到右,分别求出长度为k的各滑动窗口中的最大值和最小值。 分析:据说C++能过,G++超时。。 1、双向队列q1记录的是下标,便于求最小值,在滑动窗口后移的过程中,判断q1.back()处的元素,若大于等于a[i](待加入队列的元素),则弹出(因为若比待加入元素大,则一定不是当前滑动窗口的最 阅读全文
posted @ 2017-04-22 20:28 Somnuspoppy 阅读(182) 评论(0) 推荐(0)