
分块
ymzqwq
这个作者很懒,什么都没留下…
展开
-
[HDU 5780] gcd (公式证明)
做出这题你需要推出一个重要的式子:gcd(xa−1,xb−1)=xgcd(a,b)−1gcd(xa−1,xb−1)=xgcd(a,b)−1gcd(x^a-1,x^b-1)=x^{gcd(a,b)}-1 我这证明可能不算严谨吧。。。。 反正OI不需要证明,只需要感性理解。然而我个人觉得感性理解反而比证明重要啊,证明不就是几个式子套来套去,过几天就忘光了。 不妨设a>ba>ba>b,...原创 2018-08-10 09:05:19 · 509 阅读 · 0 评论 -
Codeforces 1178G. The Awesomest Vertex
传送门首先通过dfs序把子树操作转化为区间操作,求最大值可以用斜率优化。然后分个块,对每个块维护个凸包。修改时中间的打个标记,边角暴力重构;询问时中间的用斜率优化的方法求,边角的暴力求。由于此题有绝对值,所以还要对原值取负后再维护一个凸包。。。。时间复杂度O(nlogn+qn)O(nlogn+q \sqrt n)O(nlogn+qn)代码很丑,感觉不是人看的。。官方题解讲得比我好多了...原创 2019-07-22 20:17:48 · 249 阅读 · 0 评论 -
[BZOJ2821][Luogu4135] 作诗
由于BZOJ这题要contact lydsy2012@163.com,所以就放个洛谷的传送门(我木有BZOJ权限号啊0.0)诶?这不是莫队裸题??等等……这题强制在线欸,没办法莫队了,肿么破?之前好像看过一篇洛谷日报 你以为莫队只能离线?莫队的在线化改造感觉思想可能差不多,不过也就是个分块吧。用 s[i][j]s[i][j]s[i][j] 表示第 iii 块到第 jjj 块的答案用 ...原创 2019-07-26 20:54:25 · 335 阅读 · 0 评论