摘要:
单调队列..先对每一行扫一次维护以每个点(x, y)为结尾的长度为n的最大最小值.然后再对每一列扫一次, 在之前的基础上维护(x, y)为结尾的长度为n的最大最小值. 时间复杂度O(ab)(话说还是deque2048ms快..list3572ms慢死了)#includeusing namespace... 阅读全文
摘要:
显然题目要求长度为n的置换中各个循环长度的lcm有多少种情况.判断一个数m是否是满足题意的lcm. m = ∏piai, 当∑piai≤ n时是满足题意的. 最简单我们令循环长度分别为piai,不足n的话,我们令其他循环长度为1, 补到=n为止. 这样它们的lcm显然是=m的.然后就是一个背包了..... 阅读全文
摘要:
...字符串hash.假如长度x是一个循环节, 那么对于任意n(x | n)也是一个循环节.设当前询问区间[l, r]长度为len = ∏piai, 最终答案ans = ∏piai' ,我们只需枚举len的质因数来确定ai'即可#includeusing namespace std;typedef ... 阅读全文