摘要: ABBA "题目传送门" 解题思路 用dp\[i]\[j]来表示前i+j个字符中,有i个A和j个B的合法情况个数。我们可以让前n个A作为AB的A,因为如果我们用后面的A作为AB的A,我们一定也可以让前面的A对应那个B,同理,我们可以让前m个B作为BA的B。 接下来讨论转移方程。当in时,此时若放入A 阅读全文
posted @ 2019-07-19 17:21 whisperlzw 阅读(163) 评论(0) 推荐(0) 编辑
摘要: Sequence "题目传送门" 解题思路 可以比较容易的推出矩阵方程,但是由于p/i向下取整的值在变,所以要根据p/i的变化将矩阵分段快速幂。p/i一共有sqrt(p)种结果,所以最多可以分为sqrt(p)段进行快速幂。 代码如下 cpp include define INF 0x3f3f3f3f 阅读全文
posted @ 2019-07-19 10:49 whisperlzw 阅读(126) 评论(0) 推荐(0) 编辑
摘要: Swordsman "题目传送门" 解题思路 先将每种属性排序,因为打倒怪兽会使属性增强,所以肯定是能打就打,用cnt\[i]记录怪兽i已经被超过的属性数量,如果被超过的属性数为k了,则打倒此怪兽,将获得的属性加成加上,然后继续推进,直到当前所有属性不能再超过新的怪兽属性了。 由于数据量很大,要快读 阅读全文
posted @ 2019-07-19 10:39 whisperlzw 阅读(122) 评论(0) 推荐(0) 编辑
摘要: p1m2 "题目传送门" 解题思路 因为x都是非负数,且每一次操作其实就是把总和减少了1,所以可以得出最后都可以到达稳定。最后稳定的数的下界是0,最大也不会超过其初始数的最大值,所以可以用二分答案来求解。每次二分,我们统计要到达出来的二分值,每个数进行上升操作的次数总和以及下降次数的总和。如果上升次 阅读全文
posted @ 2019-07-19 10:25 whisperlzw 阅读(121) 评论(0) 推荐(0) 编辑
摘要: Taotao Picks Apples "题目传送门" 解题思路 建立一颗线段树,维护当前区间内的最大值maxx和可摘取的苹果数num。最大值很容易维护,主要是可摘取的苹果数怎么合并。合并左右孩子时,左孩子里可摘取苹果必然还是可以摘取,所以我们讨论右孩子。 如果右孩子的最大值小于左孩子,根据题目条件 阅读全文
posted @ 2019-07-19 10:01 whisperlzw 阅读(144) 评论(0) 推荐(0) 编辑