摘要:
题面 "传送门" 思路 这道题目是陈立杰论文《重量平衡树和后缀平衡树在信息学奥赛中的应用 》中关于重量平衡树维护序列排名算法的一个应用 具体方法为:令根节点保存一个实数区间$[0,1]$ 若当前节点是$[l,r]$,则左儿子是$[l,mid]$,右儿子是$[mid,r]$ 令$f[x]=(l[x]+ 阅读全文
摘要:
题面 "bzoj上的强制在线版本" 思路 首先可以确定,这类联通块相关的询问问题,都可以$LCT$+可持久化记录解决 用LCT维护生成树作为算法基础 具体而言,从前往后按照边的编号顺序扫一遍边 如果这条边两端不在同一个$LCT$联通块中,则$link$ 否则$cut$掉当前连接两条边的路径上的编号最 阅读全文
摘要:
放个可靠的快读板子(注意cmath) cpp namespace IO { const int __S=(1inline void read(__I &__x) { __x=0;int __fg=1;char __c=getc(); while(!isdigit(__c)&&__c!=' ') __ 阅读全文
摘要:
题面 已知$f_i=(\sum_{j=1}^ka_j{v_j}^i )\bmod 1004535809$ 给定$v_1,v_2,\ldots,v_k,f_1,f_2,\ldots f_k$ 求$f_n$ 思路 我们考虑构造一个递推式,使得: $f_n=\sum_{i=1}^k c_i f_{n i} 阅读全文
摘要:
题面 思路 考虑所有右端点确定为位置$R$的区间,显然它们的左端点取值可以在某个区间$[L,R]$中 因此我们只需要对每个$R$确定对应的$L$ 我们令$pre[i]$表示$i$位置前面第一个和$i$颜色一样的位置 那么$L=max_{1\leq i\leq R}(pre[i])+1$也就是不能有同 阅读全文
摘要:
题面 思路 我们首先考虑传统的链上LIS做法:保存每个长度的LIS末端的最小值,二分查找 那么这道题其实就只是搬到树上来做了而已 我们考虑一个节点,假设它的儿子已经处理完毕了 那么我们选择LIS最长的儿子进行继承,然后每次和其它儿子合并 合并的方法就是逐位取min值 合并完了以后再把当前节点二分一下 阅读全文
摘要:
题面 思路 问题转化 这个问题的核心在于,我们需要把“加入一个球、拿出一个球”这两个操作转化一下 因为显然两个操作同时进行的话,我们没有办法从单纯的组合意义去分析 我们首先把$m$个球拿出来,表示全部都选拿走球 然后对于我们选定的加入球的操作,我们一次性加入两个球 这样问题就变成了一个单纯加入球的问 阅读全文
摘要:
题面 思路 首先,可以确定的是,本题因为每个点只有一条入边,所以整个图肯定是一个基环外向树森林 那么我们首先考虑树上的情况: 我们考虑一个真点,它会对它的子树里面的所有假点产生贡献 一个真点对一个假点的贡献,等于这个真点到这个假点路径上的最大边权(在这个时间之后,他们俩就联通了) 我们要求的是所有贡 阅读全文
摘要:
题面 思路 这题很像 "bzoj4827礼物" 还是一样的思路,我们把$y$倍长,$y[i+k]=y[i]+n$ 然后令$f(s,c)$表示从$y$的第$s$个开始匹配,位置偏移量为$c$的答案 可以得到$f(s,c)=\sum_{i=0}^{n 1}(x_i y_{i+s}+c)^2=\sum_{ 阅读全文
摘要:
题面 "传送门" 思路 p到a 首先,本题中如果对于所有的$i$,连边$$,那么可以得到一批环 那么这个题另外一点就是,可以变成连边$$ 我们分多种情况来讨论 情况1:啥也没变 就是啥也没变 情况2:全都变了 这时考虑奇环和偶环 对于一个奇环,全部变了以后,它还是一个环,但是不是同构的 对于一个偶环 阅读全文