摘要: ~~~题面~~~ 题解: 观察数据范围,这应该是一个复杂度O(n)的题。以最大值为例,考虑单调队列,维护一个单调递减的队列。从前向后扫,每次答案取队首,如果后面进入的比前面大,那么就弹出前面的数,因为是从前向后扫,所以后面进入的如果比前面的大,那么一定更优,因为要淘汰肯定先淘汰前面的。如果队首已经不 阅读全文
posted @ 2018-10-12 20:05 ww3113306 阅读(184) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 首先我们需要发现一个性质,在括号序列不变的情况下,括号匹配是不会变的,因此不论子串怎么取,括号匹配的关系是不会变化的。这是一个很容易发现的性质,然而我太弱,没发现。 于是可以据此进行DP,我们记录下每个右括号与哪个左括号进行匹配,记为pos[i], 设f[i]表示DP到i位 阅读全文
posted @ 2018-10-12 16:09 ww3113306 阅读(183) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 首先观察到题目要求的是合法回文串的个数,而回文串要求从前往后和从后往前是一样的,因此我们假设有两只猪,分别从左上和右下开始走,走相同的步数最后相遇,那么它们走的路能拼在一起构成一个回文串,当且仅当它们走字符串是完全相同的。 那么我们可以根据这个性质进行DP,设f[i][j] 阅读全文
posted @ 2018-10-12 15:30 ww3113306 阅读(203) 评论(0) 推荐(0) 编辑
摘要: ~~~题面~~~ 题解: 感到此题非常的神奇。。。看了大佬的题解才懂的。 首先建模: 先把所有队伍的出去回来时间都放在一个数组里,然后排序,从左到右扫一边,给每个队伍都建一个带权点,进行如下操作: (s表示出发,t表示回家, len表示两个点之间的时间差) 1,对于s > t的情况,如果两者属于一个 阅读全文
posted @ 2018-10-12 14:54 ww3113306 阅读(185) 评论(0) 推荐(0) 编辑
知识共享许可协议
本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 未本地化版本许可协议进行许可。