摘要:
Luogu3327 [SDOI2015]约数个数和 蒟蒻的数论真的没救了。。。 结论: \[ d(xy)=\sum_{i|x} \sum_{j|y} [\gcd(i,j)=1] \] 考虑一个数的约数个数,显然有($p_i$为质因数): \[ n=p_1^{a_1}p_2^{a_2}\cdots p 阅读全文
摘要:
Luogu4770 [NOI2018]你的名字 \(SAM+LCT\) $update2020.11.16:\(更新了一只\)\log$解法。 好歹自己切了一道字符串黑题,这几天字符串没白颓。 观察原问题,如果模式串不是区间形式的话,很容易想到一个做法,就是对于输入串每一个$r$位置,除去$r$所在 阅读全文
摘要:
Luogu3380 【模板】二逼平衡树(树套树) 两年没写树套树了,今天写了一发线段树套替罪羊树。 结果替罪羊树写崩了,打开板子$QAQ$。 \(Code:\) #include<iostream> #include<cstdio> #include<algorithm> #include<cmat 阅读全文
摘要:
Luogu6292 区间本质不同子串个数 \(SAM+LCT+Segment\_Tree\) 如果把一个子串看成一个元素,我们首先需要完成的是如何快速判断一个区间内的元素个数。 如果元素是数字,那么我们可以离线操作,枚举右端点$r$,同时不断更新每个元素出现的位置,也就是每当一个元素出现,我们把它在 阅读全文
摘要:
CF666E Forensic Examination 广义$SAM$+线段树合并 这里利用到$SAM$中$endpos$集合的性质,我们可以注意到,在$SAM$的$parent$树上,祖先节点的$endpos$集合是包含子孙$endpos$集合的。 同时,所有子孙节点的$endpos$集合两两之间 阅读全文
摘要:
CF487E Tourists 圆方树 本题中,很容易考虑到建成圆方树,把所有点双内的节点最小值作为方点的权值,然后求链上最小值即可。 这样做的正确性显然,但是难以维护修改操作。 我们每次修改一个节点,都需要修改其相邻的方点,这样的复杂度是无法接受的。 我们考虑换一个方式,我们钦定一个叶子节点为圆方 阅读全文
摘要:
https://www.luogu.com.cn/problem/P5659 A:震惊!举世闻名的毒瘤题!是不是用到一堆毒瘤算法? B:深搜、链表。 A:??? 一道大力分类讨论好题。 考虑贪心的思路,我们从小到大移动数字,每次贪心地把当前枚举到的点移动到可以移动到的最小位置,这样得到的答案必然正确 阅读全文
摘要:
https://www.luogu.com.cn/problem/P4115 这道题明显是动态点分治板子,但是用树剖写起来就显得十分困难了。 由于本题维护的是全局信息,我们不能仅从线段树上直接读取答案。 不过树链剖分维护的就是链信息,因此我们考虑如果是链应该怎么做。 求一段区间中的最远白点距离,这很 阅读全文
摘要:
DevC++中 工具$\rightarrow$编译选项 在编译时加入以下指令处打上勾子 同时加入以下代码 -Wl,-stack=134217728 $134217728=12810241024$ 即$128MB$的空间。 附:C++11的命令同样加上 -std=c++11 阅读全文
摘要:
Luogu6670 [清华集训2016] 汽水 网上说这道题是点分治? 反正蒟蒻用边分治切了这道题。 题意就是求一条链,使它的平均权值与$k$的绝对值最小。 设任意一条链为${w_1,w_2,\cdots ,w_t}$。 求: \[ \min \lvert \frac{\sum_{i=1}^t w_ 阅读全文