题目大意:不断将放进来的数字插入要求位置,最后将他们的值按在其所在顺序排序简单的线段树问题,单点查询,从反向点一个个插入,线段树表示区间内还有多少空位,像找第几小的数那样自顶向下递归知道x==y代码: 1 #include 2 #include 3 #include 4 using names...
分类:
其他好文 时间:
2014-08-09 02:30:46
阅读次数:
274
解题报告
题意:
略
思路:
线段树成段更新,区间求和。
#include
#include
#include
#define LL long long
#define int_now int l,int r,int root
using namespace std;
LL sum[500000],lazy[500000];
void push_up(int root,int l,...
分类:
其他好文 时间:
2014-08-09 00:18:46
阅读次数:
470
题目地址:HDU 1394
这题可以用线段树来求逆序数。
这题的维护信息为每个数是否已经出现。每次输入后,都从该点的值到n-1进行查询,每次发现出现了一个数,由于是从该数的后面开始找的,这个数肯定是比该数大的。那就是一对逆序数,然后逆序数+1.最后求完所有的逆序数之后,剩下的就可以递推出来了。因为假如目前的第一个数是x,那当把他放到最后面的时候,少的逆序数是本来后面比他小的数的个数。多的逆序数...
分类:
其他好文 时间:
2014-08-09 00:18:06
阅读次数:
250
链接:http://acm.hdu.edu.cn/showproblem.php?pid=4046
题意:题目先来了一大段情书,看的我莫名其妙,然后来了一段情话...
分类:
其他好文 时间:
2014-08-09 00:11:46
阅读次数:
420
因为将每个单位都作为一个最小单元的话会爆内存的所以,将海报的每个端点进行排序,将这些端点最为最小的区间。毕竟是刚刚接触线段树,理解起来还有些吃力,还是那句话,题做多了慢慢就好了。萌萌的AC代码君贴上。 1 //#define LOCAL 2 #include 3 #include 4 #...
分类:
其他好文 时间:
2014-08-09 00:09:16
阅读次数:
312
题目链接题意:给定n个矩形,求面积并,分别给矩形左上角的坐标和右上角的坐标。分析: 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #define LL __int64 8 #defi...
分类:
其他好文 时间:
2014-08-08 23:51:26
阅读次数:
342
Up函数 用来更新父亲节点的值void push(int w){ sum[w] = sum[2*w]+sum[2*w+1];//更新节点值}单点更新 先找出第p个数 然后更新他的值void add(int p,int d,int l,int r,int w){ if(l==r) ...
分类:
其他好文 时间:
2014-08-08 23:47:46
阅读次数:
277
题目:poj 2528 Mayor's posters
题意:给一个长度非常长的墙上贴长度为ai的海报,由于有的会覆盖掉,求最后能看见的海报个数。
分析:题目和POJ2777 一模一样,方法也一样,只不过这个要离散化,其次要数组开大一点。至少2倍。
离散化的时候用了C++的 pair 类,还是比较好用的。
代码:
#include
#include
#incl...
分类:
其他好文 时间:
2014-08-08 21:32:56
阅读次数:
298
http://acm.hdu.edu.cn/showproblem.php?pid=4893
开始的时候,我按双标记,WA了一下午,搞不定,我是用的两个标记add--表示当前结点中有值发生变化,flag,斐波那契的懒惰标记,但是估计是我自己处理的有问题,一直不对
参考了别人的代码,写法还是很不错的,Add变量维护的是,完全变成Fibonacci的时候的和,---回头我再重新写一遍
#...
分类:
其他好文 时间:
2014-08-08 21:29:26
阅读次数:
276
Ultra-QuickSort
Time Limit: 7000MS
Memory Limit: 65536K
Total Submissions: 41215
Accepted: 14915
Description
In this problem, you have to analyze a particular sorting a...
分类:
其他好文 时间:
2014-08-08 21:29:06
阅读次数:
301