摘要:
"题目" 一个显然的暴力就是枚举$\rm X$的位置,把$\rm A$视为$1$,$\rm B$视为$ 1$,从这个位置开始求一遍前缀和,特征值即为所有前缀和大于$0$的$A$ 我们对第一个空位置做一遍这个暴力,考虑一下$\rm X$移动会对其他位置的前缀和产生什么样的影响 如果移动到的位置原来是一 阅读全文
摘要:
"题目" 做UER的A题涨信心 首先我们注意到这个所谓的至少有一条正确在$x$和$y$不相等的时候非常弱,当$xy$时,只有可能是前$x$位用户有$y$个通过。也就是说这些信息都能被转化成一些用来限制前后缀和的信息。 设$pre_i$表示序列的前缀和,对于一条前$x$位用户有$y$个通过的限制,我们 阅读全文
摘要:
"题目" 低智选手果然刷不动uoj 首先考虑一下构造一棵树显然是骗你玩的,按位与这个东西越做越小,挂到链的最下面显然不会劣于挂到之前的某一个点下面,所以我们只需要求一个排列使得答案最小就好了 设$A=\max(a_i)$,发现最优答案不可能要劣于反复对一个数取$\rm and$的答案,我们就有了一个 阅读全文
摘要:
"题目" 仔细思考发现我会$O((n+m)\sqrt{n}\log n)$,不难发现这显然过不了 考虑一下这道题的答案是某一个点对产生的贡献,考虑强行转数点,我们将$x,y$搞成$(x,y,|a_x a_y|)$ 点对的个数高达$n^2$,但一些点对显然没有什么用,比如说$(x_1,y_1,v_1) 阅读全文
摘要:
"题目" 可以考虑边分治,对于某一种颜色,我们处理出分治边左右两边所有以这个颜色为端点的路径长度,之后随便拼一拼就好了 但是这样对于每一组询问都需要边分一遍,这样做复杂度是$O(nm+n\log n)$的 还有一种更暴力的做法,就是枚举树上所有路径,这样就可以直接统计了,复杂度是$O(n^2)$的 阅读全文
摘要:
"题目" 智力下降严重 显然要反演了呀 首先必须满足$x|y$,否则答案是$0$ 我们枚举这个数列的$gcd$是$d$或者$d$的倍数 于是答案就是 $$\sum_{x|d}[d|y]\mu(\frac{x}{d})g(\frac{y}{d})$$ $g(d)$表示和为$d$的正整数数列的数量,显然 阅读全文
摘要:
"题目" 首先先对$s$建一个$\operatorname{SAM}$,设$w=kq$ 发现$k,q\leq 10^5$,但是$w\leq 10^5$,于是套路地根号讨论一下 如果$k\leq \sqrt{w}$,那么说明单个询问串都很短,我们完全可以暴力长度为$k$的字符串的所有子串,之后二分查询 阅读全文
摘要:
"题目" 珂朵莉树板子,我觉得 "洛谷题解" 讲的就很不错 粘一下自己的板子 cpp include define re register define LL long long define ST std::set::iterator inline int ksm(int a,int b,int 阅读全文
摘要:
"题目" 可能$\operatorname{fhq\ treap}$能做,但是珂朵莉树显然更好写 珂朵莉树是个很玄学的东西啊,就是直接使用$\operatorname{std::set}$维护每一段权值相等的连续段,之后暴力这些连续段就好了 在数据随机的意义下且有区间推平操作的时候,连续段的个数是期 阅读全文
摘要:
"题目" 在$\operatorname{NOIP}$停办的日子发篇博客纪念一下 发现这个$c\leq \min(20,r l+1)$,显然可以把$0$到$20$的答案都存一下,线段树合并两个区间就是直接做一个卷积 考虑区间加操作,设$f_i$表示当前区间里所有长度为$i$的子序列乘积的和,我们考虑 阅读全文