摘要:
【传送门:BZOJ1251】 简要题意: 给出一个长度为n的序列,有m个操作,3种操作: 1 l r k将l到r的数增加k 2 l r将l到r的数列翻转 3 l r求出l到r的最大值 题解: 裸SPLAY,直接下放两种标记,一种翻转,另一种增加值 而且对于求l到r的区间,我们需要l-1和r+1的节点 阅读全文
摘要:
【传送门:BZOJ3620】 简要题意: 给出一个字符串和一个正整数k,判断有多少个子串为A+B+A的形式,如:aabaa(aa+b+aa),cbaccba(cba+c+cba) 注意不同位置但A,B相同算不同的子串,相同位置但A,B不同算相同子串 要求在len(A)>=k,len(B)>=1的情况 阅读全文
摘要:
【传送门:BZOJ4477】 简要题意: 给出一棵n个点的树,树上的边都代表一个字符串,给出Q个询问,每个询问输入x,y和字符串s,求出x到y的路径上以s为前缀的字符串个数 题解: 自己yy了一波可持久化字典树 将每条边的字符串放到深度更深的节点保存 对于x到y的路径,将rt[x]+rt[y]-2* 阅读全文