XJOI NOIP2015模拟赛Day1 T2 ctps bitset优化 或 排序+cdq分治+树状数组+平衡树...
分类:
编程语言 时间:
2015-08-02 16:48:03
阅读次数:
114
其实这只是一道题的题解= =;
博主太弱不会T1T3;
然而我还是要吐槽一下,T2难道你们就没有一点写数据结构的心情吗!
T1:
留坑(不太可能填);
T2:
题意:
给出大小为n的一个四维点集,和m次询问;
每次询问给出一个点,求四维坐标均小于等于这个点的集合大小;
n,m
题解:
看到这题的第一反应是排序乱搞,noip难度应该随便玩玩就过了嘛(笑)...
分类:
其他好文 时间:
2015-08-01 22:09:05
阅读次数:
444
第一道CDQ分治....
以下来自 陈丹琦 的 从《Cash》谈一类分治算法的应用:
算法分析
这个问题是IOI 2000 Mobile的加强版:Mobile中W≤1000,就可以利用二树状数组在O(log22n)的时间复杂度内维护出操作1)和操作2).这个问题中W很大,开二维树状数组O(W2)的空间显然吃不消,考虑使用动态空间的线段树,最多可能达到操作次数 * (log2W)...
分类:
其他好文 时间:
2015-07-31 16:11:51
阅读次数:
103
BZOJ 2683 简单题 cdq分治+树状数组...
分类:
编程语言 时间:
2015-07-22 10:46:05
阅读次数:
133
题意:
略
见上一篇
题解:
方程还是那个方程f[i]=A[i] * X[j] + B[i] * Y[j];
化简为Y[i]=(-A[i]/B[i]) * X[i] + f[i]/B[i]这一坨;
既然这个斜率不单调,那排个序让它单调不就行了;
排序之后的问题就是,在i前面更新i的点不一定可以更新i,而应该用来更新i的点说不定还在i的后面;
那么这时候就是用CDQ分治解决;...
分类:
其他好文 时间:
2015-07-11 12:17:34
阅读次数:
190
f[i] = min { f[j] + sqr(a[i] - a[j]) }f[i]= min { -2 * a[i] * a[j] + a[j] * a[j] + f[j] } + a[i] * a[i]由于a[i]不是单调递增的,不能直接斜率dp。考虑有cdq分治来做,复杂度(nlog2n) 1...
分类:
其他好文 时间:
2015-06-27 18:08:57
阅读次数:
111
1176: [Balkan2007]Mokia
Time Limit: 30 Sec Memory Limit: 162 MB
Submit: 1059 Solved: 432
[Submit][Status][Discuss]
Description维护一个W*W的矩阵,初始值均为S.每次操作可以增加某格子的权值,或询问某子矩阵的总权值.修改操作数M<=160000,询问数Q<=100...
分类:
其他好文 时间:
2015-06-03 21:43:52
阅读次数:
172
这题可以用cdq分治套树状数组,递归的每一层只考虑左半部分的修改对右半部分的询问所出产生的影响,至于左半部分的询问和右半部分修改对右半部分的询问的影响则递归下去处理,这样就没有顺序的影响,变成只考虑先插入后修改的情况。这种情况把每个询问拆成两个子询问:查询矩形(x1,1,x2,y1-1)和(x1.....
分类:
其他好文 时间:
2015-05-22 21:12:18
阅读次数:
119
最大的收获就是题目所说。deal(s) : 处理节点s所在块的问题,并保证: 1、s是该块中最靠近根节点的点,没有之一。 2、s所在块到根节点的路径上的点全都用来更新过了s所在块的所有节点。然后步骤是: 1、找s所在块的重心c。 2、如果s就是c,那么用c更新当前块的所有节点,然后“删除c”...
分类:
其他好文 时间:
2015-05-16 18:03:54
阅读次数:
135
最近在看一些整体二分,cdq分治的东西,感觉有点刷三观,又想起前几个礼拜做的浙江省赛的一道数论题,发现代码里面的精妙之处好像略有几分cdq分治的思想,然后再细看代码,发现里面还有一些NTT的东西,所以下面留个网址改日再看看。。ZOJ3874:http://acm.hust.edu.cn/vjudge...
分类:
其他好文 时间:
2015-05-14 00:44:08
阅读次数:
116