摘要: 思路: 先copy一下百度百科 作为预备知识吧多重全排列定义:求r1个1,r2个2,…,rt个t的排列数,设r1+r2+…+rt=n,设此排列数称为多重全排列,表示为$P(n;r1,r2,…,rt)$$P(n;r1,r2,…,rt)=\frac{n!}{(r1!r2!...rt!)}$ 题目是让求s 阅读全文
posted @ 2017-04-09 22:05 SiriusRen 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 思路: 首先求出后缀数组和height数组,这样能得到本质不同的子串数目 这里利用:本质不同的子串=∑(Len−SA[i]−height[i])=∑(Len−SA[i]−height[i])利用SA[],height[]的定义很好想 然后要求最大值最小,显然二分,二分一个mid,求出第mid大的子串 阅读全文
posted @ 2017-04-09 17:22 SiriusRen 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 思路: 杜教筛裸题 阅读全文
posted @ 2017-04-09 17:19 SiriusRen 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 思路: 感觉这题也可神了.. (还是我太弱) 首先发现每一位不会互相影响,可以把每一位分开考虑,然后用树链剖分或者LCT维护这个树 修改直接修改,询问的时候算出来每一位填0,1经过这条链的变换之后得到的值 考虑贪心,从高往低,如果这一位填0可以得到1,那么填0一定是最优的 否则如果可以填1,就把这一 阅读全文
posted @ 2017-04-09 17:17 SiriusRen 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 思路: 看完这道题根本没有思路啊.... 然后我就膜拜了一波题解... 这神tm乱搞思路 维护两个bitset 第一个bitset代表当前区间哪些数出现过 第二个bitset是 maxp-p出现过 差为x的时候 就用第一个bitset与一下它右移x就好了 和为x的时候 就第一个bitset与一下第二 阅读全文
posted @ 2017-04-09 17:11 SiriusRen 阅读(402) 评论(0) 推荐(0) 编辑