
cdq分治
文章平均质量分 80
johsnows
正在静下心来学算法的acmer
展开
-
hdu 1166 敌兵布阵(cdq分治)
第一次写cdq分治。感觉这个题就是按时间递归分治,然后通过每次计算左区间内(时间早)操作对右区间(时间晚)中的查询结果的影响。代码:#include using namespace std;const int maxn=5e5+5;struct node{ int inde; int val; int type; ope原创 2017-06-26 11:21:37 · 392 阅读 · 0 评论 -
hdu 4417 Super Mario(主席树||cdq分治+树状数组)
主席树和cdq分治都可以,而且都是很入门的做法。这道题主席树的写法要好写一些,但是如果带修改的话,就得用cdq分治了。主席树代码:#include using namespace std;const int maxn=1e5+5;struct node{ int l, r, x;}val[maxn*40];int tot, root[maxn], a[ma原创 2017-08-09 17:43:35 · 457 阅读 · 0 评论 -
hdu 6183 Color it(cdq分治+线段树)
题意:两种操作1:在x,y这个点上涂上颜色c。2:查询1,y1和x,y2组成的矩形包含多少种颜色。代码:矩形区域查询点,赛时直接把之前cdq分治+bit的代码贴上然后开了50个树状数组去做,时间复杂度是n*logn*logn*50,直接十几e的复杂度,tle,而且因为树状数组的logn和50是不随数据变的,所以跑起来还没有暴力快,然后暴力代码ac了。。。50原创 2017-09-01 11:31:27 · 864 阅读 · 0 评论