随笔分类 - 分治
摘要:好像又是宿命的毒瘤出题人王队长的题(WC被他的题灭了)给跪了。 T1 我们可以做一个分裂的操作。 每次找到当前区间右端点所连边的最小值,那么这个肯定是对应了某一个位置$x$。 同时又有$x\equiv r\ (mod\ mid)$,所以$mid 1\equiv r x 1\ (mod\ mid)$。
阅读全文
摘要:T2强制在线挂了qvq,结果是因为初值写错了,T3数组开小掉了10pts 其他倒还好。 T1 秀最靓的操作,写最短的代码。 其实就是我们按照$kruscal$考虑的话,我们可以把最小生成树上的边都列出来。 这是一个单调不讲的序列。 把最后一个和前面$n 2$个分别考虑,然后一个一个的削减$w[n 1
阅读全文
摘要:刷了一下,写一下。 T1. 天天爱射击 可以这样想。 我们二分一下每一块木板在什么时刻被击碎。 然后直接用主席树维护的话是$O(nlog^2n)$的。 会$T$,而且是一分不给那种。。。 那么换个想法,既然都用主席树了,还二分啥。 可以直接主席树上查区间排名。 似乎也可以整体二分。 复杂度$O(nl
阅读全文
摘要:好难啊。 T1 最难的题。 推式子很难推。 但是我考场上想到一种二次剩余硬解的方法。 写在上一篇博文里面了。 推式子的话。 其实这种求解的数论题要点就在于奇偶分类讨论和迭代递归思想。 包括缩小数据范围等等。 这些思路是最重要的。 式子仔细看就可以看懂的。 T2 灌水。 神奇的结论$A$掉这个题。 我
阅读全文
摘要:好可恶卡常卡死我了。 T1 我们点分治。 对于每一个位置按照到点分中心的所有子树节点划分不同路径。 二分答案(最小的使得大于其的路径个数为K的长度)。 只需要给点分数据排序。 双指针扫一扫再加一个求有多少个大于等于当前二分长度的路径。 输出答案即可。 T2 维护一个线段树。 维护区间与缀和,或缀和。
阅读全文
摘要:好恶心的题。 服了。 T1 对顶堆启发式合并。 维护出每一个节点的$a[mid]$,和$a[mid+1]$即可。 最后$dfs$一次用树状数组维护后缀和即可快速的分情况统计答案。 T2 直接求$g[d]$表示$gcd|d$的子串个数。 然后单独在一个序列中的可以直接求出来。 因为最多只有$log$个
阅读全文
摘要:今天的题超极棒。 T1 汉诺塔问题。 我们考虑把汉诺塔想象成一颗搜索树。 然后在上面找到当前的某一步就相当于递归到最底层。 然后中间判一下合不合法,如果走右儿子就加上左边的贡献就行了。 大概是个noip题。。。 T2 设函数$next(n,k,s)$为大于等于$n$的$k$进制数中,各个位和为$s$
阅读全文
摘要:字符串: 1.广义后缀自动机(大小为$m$)上跑一个长度为$n$的串,所有匹配位置及在$parent$树上其祖先的数量的和为$min(n^2,m)$,单次最劣是$O(m)$。 但是如果跑多个串,总长为$n$,可以证明所有串长相等的时候复杂度更劣,设有$k$个串,那么复杂度为:$O(k(n/k)^2)
阅读全文
摘要:1.喵星球的点名 发现这种多串匹配不用广义后缀自动机而用 后缀数组就是chishi。 所以当然是大力广义后缀自动机了。 我们找到每个模式串的节点,并将之所有父链节点的大小全部加一来方便查询。 匹配的时候直接输出匹配的末尾节点的大小,并且将之的标记+1。 最后再次扫一次父链节点,把标记全部统计出来即可
阅读全文
摘要:其实很多题都是很久以前写的了。 做过的学过的总共就这么几种: 1.普通序列分治 2.CDQ分治 3.线段树分治 4.整体二分 5.点分治 一、普通序列分治 1.array http://hzoj.com/contest/166/problem/2 是之前的考试题了。 当时这道题我不会写单调栈做法,反
阅读全文
摘要:看了一下网上基本都是线段树二分的题解,然而我想到一种整体二分的思路,正好练习一下。 是道好题。 首先用树上ST表处理,用于求LCA。 考虑整体二分离线求解。 一种方法是用树链剖分的,复杂度是$O(log^2n)$的,在套上个整体二分,复杂度达到了$O(nlog^3n)$所以说不可以直接树剖暴力。 可
阅读全文
摘要:分治,大多复杂度在$ O(log_2n) $ 级别,因为每次递归把大小减半,所以最多$ log_2n $层,今天做的点分和$CDQ$都是这样的。 先总结一下$CDQ$,很强的数据结构,不知道陈丹琦怎么做到$ noi $现场$yy$这么一个数据结构出来实在是$TQL$,昨天学过了之后今天上午11点左右
阅读全文

浙公网安备 33010602011771号