cdq分治
pocket_legend
这个作者很懒,什么都没留下…
展开
-
[Usaco2015 Feb] bzoj3939 Cow Hopscotch [cdq分治]
Description: n∗mn∗mn*m的网格,每个格子有权值,一个格子能跳到另一个格子当且仅当这个格子在另一个格子的左上角并且权值不同,问从(1,1)(1,1)(1,1)到(n,m)(n,m)(n,m)的方案数。 Solution: 如果没有权值的限制我们可以前缀和dpdpdp,但是有权值我们得减去权值相同的方案数,直接开数组无法解决,可以通过动态开点线段树或mapmapmap解决...原创 2018-03-15 17:23:35 · 182 阅读 · 0 评论 -
[NEERC 2015] bzoj4449 Distance on Triangulation [分治+最短路]
Description: 给定一个凸nnn边形,以及它的三角剖分。再给定qqq个询问,每个询问是一对凸多边行上的顶点(a,b)(a,b)(a,b),问点aaa最少经过多少条边(可以是多边形上的边,也可以是剖分上的边)可以到达点bbb。 Solution: 看起来很难写,其实想清楚还是比较好写的。 我们可以对每个多边形进行分治,每次选择其中的一个分的最均匀的对角线,以其两个顶点做最短路,...原创 2018-03-25 21:15:14 · 337 阅读 · 0 评论 -
hdu5307 He is Flying [cdq分治+FFT]
Description: 求每个区间和对应的长度和。 Solution: 考虑cdqcdqcdq分治,计算跨过中点的串的答案,那么两次FFTFFTFFT即可计算出来。 #include <bits/stdc++.h> using namespace std; #define double long double const int maxn = 4e5 + 5; con...原创 2018-04-01 17:58:52 · 189 阅读 · 0 评论