
分块
文章平均质量分 61
空灰冰魂
=NULL
展开
-
【BZOJ2957】楼房重建 分块水题
题解:分块水题。不懂看代码:#include #include #include #include #include #define N 101000#define P 2050#define eps 1e-10#define max(a,b) ((a)>(b)?(a):(b))using namespace std;int n,m;double h[N];in原创 2015-02-02 11:08:23 · 1652 阅读 · 0 评论 -
【BZOJ1086】【SCOI2005】王室联邦 树分块
题解:思想上是深搜+栈,每当栈中元素达到b个,就分成一个块。然后最后会剩下部分,分到最后一个块中。其实我认为开始的所有块都是b个啊,然后最后一个块是b+若干个,不会超过2b。不是很理解2b~3b这个概念。代码:#include #include #include #include #define N 1010using namespace std;s原创 2015-01-17 09:51:16 · 1462 阅读 · 0 评论 -
【BZOJ2301】【HAOI2011】Problem b 莫比乌斯反演+分块+前缀和
莫比乌斯反演公式若Fn=∑d|nfdF_n =\sum_{d|n} f_d 则fn=∑d|nFnd∗μdf_n = \sum_{d|n} F_{\frac n d}*\mu_d 其中μ\mu是莫比乌斯函数,跟FF和ff无关。莫比乌斯函数当d=1d=1时: μd=1\mu_d = 1 当dd可以被拆解成kk个质因数之积且这些质因数两两不同时: μd=(−1)k\mu_d =原创 2015-03-26 10:56:39 · 1571 阅读 · 0 评论 -
【BZOJ2741】【FOTILE模拟赛】L 可持久化字典树+分块
题解:首先我们处理出来sum[0,n]sum[0,n]作为异或前缀和,然后答案就不再是[l,r][l,r]中间某段区间的异或和,而转化成求了[l−1,r][l-1,r]中任意两点异或和的最大值。然后我们分块处理出fi,jf_{i,j}表示 [第i块的开头,j−1][第i块的开头,j-1] 这段区间中任取一点和点jj异或和的最大值,而用gi,jg_{i,j}做个类似前缀和的操作,记录第ii块原创 2015-03-20 20:22:51 · 2444 阅读 · 0 评论