CF1430】的更多相关文章

题目链接:http://codeforces.com/contest/1430/problem/E 题意:有一串长度为n(n<=2*10^5)由小写字母组成的字符串,求通过相邻交换得到其反转串(回文串)得最少交换次数 思路:通过这道题学会了一些奇怪而又实用的小知识(雾,一般相邻交换会想到逆序对数---->一个数列的逆序对数是其通过相邻交换恢复为自然序列的最小交换次数 因此我们可以将字符串逆序给予编号,这样的话就可以用逆序对数解决问题啦 但是!!!怎么解决相同的字符?我们已知相同的字符间是等价的…
题目链接:http://codeforces.com/contest/1430/problem/D 题意:有一个长度为n(n<=2*10^5)的01字符串,每轮操作有两步: 第一步是删去字符串中任意一个字符: 第二步是删去字符串中的相同前缀串(例如:1100100 删去前两个1): 求最多可以进行几轮. 思路:首先我们可以很容易的知道删去前后有一个(或两个)与其相同的字符是最优的(且不为第一个字符),因为此时不会使第二步操作删掉的字符增加 所以我们就想到了贪心,每轮操作都遍历一遍找到满足要求的字…