CF633H (线段树维护矩乘 + 莫队)】的更多相关文章

洛谷题面传送门 orz 一发出题人(话说我 AC 这道题的时候,出题人好像就坐在我的右侧呢/cy/cy) 考虑一个很 naive 的 DP,\(dp_i\) 表示 \([l,i]\) 之间的字符串是否可以被识别,转移就枚举上一段的终止为止,然后 SAM/哈希判断子串是否在 \(s\) 中出现过. 注意到一个事实:所有长度 \(>2k\) 的字符串都可以由长度 \(\ge k\) 的字符串拼成,也就是说只有长度在 \([k,2k]\) 的字符串是有用的,故每次转移只用枚举 \(k+1\) 个转移点…
题面 \(solution:\) 这一题绝对算的上是一道经典的例题,它向我们诠释了一种新的线段树维护方式(神犇可以跳过了).像这一类需要加入又需要维护删除的问题,我们曾经是遇到过的像莫对,线段树.......但是我们并没有真正把它与一些数据结构结合在一起过,像线性基,凸包都是只支持加入,不支持删除的.我们需要找一种\(O(nlogn)\) 的方案让他们也支持删除. 本题就可以用线段树维护线性基,那它的原理是什么呢,它为什么能让线性基支持删除操作了呢?其实我们看到线段树是就可以知道,它其实是维护的…
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1878 题意概括 给出一个长度为n的序列,用m次询问,问区间Li~Ri中有多少种不同的数. 0<=数值<=1000000,n<=50000,m<=200000 题解 本题有许多做法. 这里介绍树状数组和莫队,都是离线算法. 树状数组 我们把序列按照R从小到大排序. 然后从左往右走. 依次加入数字,当前的状态,比如说搞定了前i个数字. 对于第i+1个数字,我们要给它做一个标记,但是不可…
[题意]给定n个节点的树,每个节点有一个数字ai,m次操作:修改一个节点的数字,或询问一条树链的数字集合的mex值.n,m<=5*10^4,0<=ai<=10^9. [算法]树分块+带修改莫队算法 [题解]和[BZOJ]3052: [wc2013]糖果公园 树分块+待修改莫队算法差不多. 区别在于如何处理树链信息.考虑对值域分块,由于>n的数字没用,所以对[0,n]分块,维护每一块所含数字个数. 这样就可以O(1)单点修改,O(√n)查询.(扫描到第一块所含数字不满的块,再块内扫描…
Description 有一个长为\(n\)的数列\(a_{1},a_{2}...a_{n}\),你需要对这个数列维护如下两种操作: \(1\space l \space r\space x\) 表示将数列中的\(a_{l},a_{l+1}...a_{r-1},a_{r}\)加上\(x\) \(2\space l\space r\) 表示要你求出\(\sum_{i=l}^{r}fib(a_{i})\)对\(10^9+7\)取模后的结果 fib(x)fib(x)表示的是斐波那契的第\(x\)项,\…
肯定先无脑树链剖分,然后线段树维护一段区间不同个数,再维护一个左右端点的费用. 线段树更新,pushDown,pushUp的时候要注意考虑链接位置的费用是否相同 还有就是树链剖分操作的时候,维护上一个更新的位置的费用. 总之就是出现区间合并,就考虑总数是否要减一 好想不好写 //场上根本写不完啊 /*--------------------------------------------------------------------------------------*/ #include <…
D. Selection Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Description When selecting files in an application dialog, Vasya noted that he can get the same selection in different ways. A simple mouse click selects a sing…
题目链接:BZOJ - 3995 题目分析 这道题..是我悲伤的回忆.. 线段树维护连通性,与 BZOJ-1018 类似,然而我省选之前并没有做过  1018,即使它在 ProblemSet 的第一页. 更悲伤的是,这道题有 40 分的暴力分,写个 Kruskal 就可以得到,然而我写了个更快的 DP . 这本来没有什么问题,然而我的 DP 转移少些了一种情况,于是...爆零.没错,省选前20名可能就我没有得到这 40 分? 不想再多说什么了...希望以后不要再这样 SB 了,如果以后还有机会的…
题目链接:BZOJ - 1018 题目分析 这道题就说明了刷题少,比赛就容易跪..SDOI Round1 Day2 T3 就是与这道题类似的..然而我并没有做过这道题.. 这道题是线段树维护联通性的经典模型. 我们线段树的一个节点表示一个区间的联通性,有 6 个 bool 值,表示这个区间的 4 个角上的点之间的联通性. 然后用两个子区间的联通性和两个子区间之间的连边情况合并出整个区间的联通性. 修改某条边时,先在边的数组中修改,然后从这条边所在的点的线段树叶子开始向上 Update . 询问两…
Another LIS Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1244    Accepted Submission(s): 431 Problem Description There is a sequence firstly empty. We begin to add number from 1 to N to the s…