摘要:
真是一个三倍经验好题啊。 我们来观察这个题目,首先如果直接整体计算,怕是不太好计算。 首先,我们可以将每个子串都看成一个后缀的的前缀。那我们就可以考虑一个一个后缀来计算了。 为了方便起见,我们选择按照字典序来一次插入每个后缀,然后每次考虑当前后缀会产生的新串和与之前插入的串重复的串(这里之所以可以这 阅读全文
摘要:
补博客! 首先我们观察题目中给的那个求$ans$的方法,其实前两项没什么用处,直接$for$一遍就求得了 c for (int i=1;i include include include include include include include define mk makr_pair defi 阅读全文
摘要:
纪念卡常把自己卡死的一次自闭模拟赛 QWQ 一开始看这个题,以为是个图论,仔细一想,貌似可以直接dp啊。 首先,因为规则只有从两个变为1个,貌似可以用类似区间$dp$的方式来$check$一段区间能不能合成某一个字母! 那我们定义$f[i][j][k]$表示第一个串,$[l,r]$区间,是否可以合成 阅读全文
摘要:
真是一道良好的SA模板题 首先,由于涉及到从左边移动到右边这个过程,我们不妨直接把字符串复制一遍,接在后面。 然后直接构造后缀数组,按排名从小到大,枚举所有的位置,如果这个后缀的起始点是在原串中的,那么就输出当前后缀的起始点往后第n个字符,就能直接解决了 c include include incl 阅读全文
摘要:
其实SA这个东西很久之前就听过qwq 但是基本已经忘的差不多了 嘤嘤嘤 QWQ感觉自己不是很理解啊 所以写不出来那种博客 QWQ只能安利一些别人的博客了 小 老 板 真的是讲的非常好 ~~不要在意名字~~ orz,膜拜他们 顺便弄上自己的代码(里面有一些需要注意的地方) c include incl 阅读全文
摘要:
这是一道卡常好题 从160s卡到36s qwq 由于题目设计到原数组的单点修改,那么就对应着前缀和数组上的区间加。 很显然能想到用线段树来维护这么个东西。 那么该如果求题目要求的位置呢 我们来看这个题的式子,他要求$$a_i = s_{i 1}$$ 我们稍微变形一下$$s_i s_{i 1}=s_{ 阅读全文
摘要:
(嘤嘤嘤 又是一个自闭了一晚上的题) qwq果然不是平面上的点的问题,也可以直接用KDTree打暴力 我们对于巧克力直接建kdtree 维护一个$mx[i],mn[i]$ 但是有一个非常不友好的事情 我们貌似很难对这个东西进行一些实质上的剪枝 因为他求的是一个和的形式,而不是一个最值QWQ 那么该怎 阅读全文
摘要:
qwq(明明可以直接分治过掉的) 但是还是当作联系了 首先,对于这种点的题,很显然的套路,我们要维护一个子树$mx[i],mn[i]$分别表示每个维度的最大值和最小值 (这里有一个要注意的东西!就是我们$up$的时候,要判断一下当前是否还有左/右儿子) 其实剩下的就是和普通的kdtree差不多了 直 阅读全文
摘要:
真是一个自闭的题目(调了一个上午+大半个下午) 从$WA$到$WA+TLE$到$TLE$到$AC$ 真的艰辛。 首先,这个题,我们可以考虑直接上四维KDTree来解决。 对于kdtree上的每个节点,我们维护三个值,分别表示各个维度的$mn$,当前节点的$val$(这个是用来每次更新$ans$的), 阅读全文
摘要:
KD Tree这玩意还真的是有趣啊.... (基本完全不理解) 只能谈一点自己的对KD Tree的了解了。 首先这个玩意就是个暴力... 他的结构有点类似二叉搜索树 每一层都是以一个维度作为划分标准。 我们对于当前层,选择所有剩余点中,该维度比较中间的那个点作为基准点,比他小(这一维度)就放到左子树 阅读全文
摘要:
纪念博客又一次爆炸了 首先,对于本题中,我们可以发现,保证存在正整数解,就表示一定费用会降低。又因为一旦加大的流量,费用一定会变大,所以总流量一定是不变的 那么我们这时候就需要考虑一个退流的过程 对于原图每一条$u v,c 0$的边,我们在新图中建一条$v u,价值是a d$ 表示退这个流要花费的费 阅读全文
摘要:
QWQ果然我已经什么都学不会的人了。 这个题目要求的是图上所有路径的点权和!QWQ(我只会树上啊!) 这个如果是好啊 这时候就需要 圆方树! 首先在介绍圆方树之前,我们先来一点简单的前置知识 首先,我们需要知道什么是 点双联通分量 若一个无向图中的去掉任意一个节点都不会改变此图的连通性,即不存在割点 阅读全文
摘要:
QWQ神仙题啊(据说是今年第一次出现圆方树的地方) 首先根据题目,我们就是求对于每一个路径$(s,t)$他的贡献就是两个点之间的点数,但是图上问题我并没有办法很好的解决。。。 这时候考虑圆方树,我们将圆方树建出来之后, 我们令方点的权值是他所连接的圆点之和,圆点的权值是$ 1$。 这里之所以让圆点的 阅读全文
摘要:
QWQ深受其害 当时在现场是真的绝望...... 现在再重新来看这个题 QWQ 根据题目所说,我们可以发现,对于每一个集合中的节点,我们实际上就是要求两两路径上的割点的数目 考虑到又是关于点双的题目,而且在图上,我们并没有很好的办法去做。 这时候就要考虑建出来圆方树,然后我们对于圆方树 的每个点,维 阅读全文
摘要:
大概算是个系列整理 ~~(最强版是模拟赛原题))~~ 首先,我们先来看这个题目。 QWQ一开始是毫无头绪,除了枚举就是枚举 首先,我们可以枚举一个右端点,然后算一下当前右端点的答案 我们令$f[l,r]$表示$a_l到a_r$这些数,能够最少划分成几段连续的数。 显然,我们要求的是以每个端点为右端点 阅读全文
摘要:
真的是一个大好题啊! QWQ首先我们考虑这种问题,如果直接在线做,估计应该是做不了,那我们是不是可以直接考虑离线。 将所有询问都按照$r$来排序。 然后依次加入每条边,计算$a[i]=l$,后面这项表示$x y$的路径上最小的编号,要在他要求的$l$之后才行。 QWQ嘤嘤嘤 还有一个问题一定要注意! 阅读全文
摘要:
好久之前做的题了QWQ 现在来补一发博客 一道神仙题啊。。qwq 首先,我们可以看出来,我们如果对于每个点维护一个$val$,表示他的直系儿子中有几个表现为1的。 那么$val[x] 1$ 就是他反应的类型 这样十分便于我们计算一开始的$val$ 那么考虑修改。 一定是会修改一条$连续1(对应着0 阅读全文
摘要:
又一道好题啊qwqqqq 一开始看这个题,还以为是一个树剖的什么毒瘤题目 (不过的确貌似可以用树剖啊) qwq这真是一道$LCT$维护颜色的好题 首先,我们来一个一个操作的考虑。 对于操作$1$来说,我们是不是就相当于把$1~x$的路径,弄成一个独立的联通块? 哎,这个貌似是$access(x)$的 阅读全文
摘要:
QWQ硬是把一个$splay$好题,做成了$LCT$ 首先,根据题目性质,我们可以发现序列之间是具有前后性质的。 那么,我们就不可以进行$makeroot$等操作。 我们定义$findroot(x)表示x所在splay最前面的点(深度最小的点)$ $findymh(x)表示x所在splay最后面的点 阅读全文
摘要:
成功又一次自闭了 ~~怕不是猪国杀之后最自闭的一次~~ 一看到最短路径。 我们就能推测这应该是个最短路题 现在考虑怎么建图 根据题目的意思,我们可以发现,在本题中,边与边之间存在一些转换关系,但是点与点之间并不存在。 那么我们考虑 边转点,点转边。 每一条边拆成两个点,之间连边权的边 新建一个起点$ 阅读全文