线段树
文章平均质量分 78
acmdream
我是福建某高校2013级在校生,学业之余喜欢研究算法。
展开
-
HDU 1166(线段树;树状数组)
题意:如题。 树状数组: #include #include #include using namespace std; int a[50009]; int lowbit(int n) { return n&-n; } int sum(int end) { int s = 0; while (end > 0) {原创 2014-01-14 23:07:25 · 596 阅读 · 0 评论 -
HDU 1264(离散化线段树;hash暴力)
题意:每行给出4个数字,分别为两个坐标值,这两个坐标为一个矩形的对角坐标,也就是说,这4个数字代表两个坐标从而确定了一个矩形。。当4个数字都为-1时,表示一组数据结束;当4个数字都为-2时,表示程序结束。求的是一组数据的各个矩形并下来覆盖的面积。 这道题目我用hash暴力解决: #include #include bool rectangle[109][109]; in原创 2014-01-16 19:39:33 · 1025 阅读 · 0 评论 -
HDU 1394(单点更新线段树求逆序数)
题意描述:给你一个有0--n-1数字组成的序列,然后进行这样的操作,每次将最前面一个元素放到最后面去会得到一个序列,那么这样就形成了n个序列,那么每个序列都有一个逆序数,找出其中最小的一个输出! 用线段树求逆序数,例如要求x的逆序数只需要访问(x+1,n)段有多少个数,就是x的逆序数。还有就是求最小逆序数的时候有个巧妙的想法,当把x放入数组的后面,此时的逆序数应该为x没放入最后面之前原创 2014-01-17 22:11:02 · 617 阅读 · 0 评论