
----------线段树
mfcheer
他不停地跑啊跑 就为了追上那个曾经被寄予厚望的自己
-
原创 hdu-1394 求逆序数
http://acm.hdu.edu.cn/showproblem.php?pid=1394首先建立空树,将 a[i] 逐个插入计算一个序列n排列的最小逆序数首先用线段树算出出事序列的逆序数,然后找规律推出排列的最小逆序数。#include#include#include#include#include#include#include#include2014-12-28 13:26:29681
0
-
原创 士兵杀敌 三 【ST算法】
题目: 士兵杀敌(三) 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 南将军统率着N个士兵,士兵分别编号为1~N,南将军经常爱拿某一段编号内杀敌数最高的人与杀敌数最低的人进行比较,计算出两个人的杀敌数差值,用这种方法一方面能鼓舞杀敌数高的人,另一方面也算是批评杀敌数低的人,起到了很好的效果。所以,南将军经常问军师小工第i号士兵到第j号士兵中,杀敌数最高的人与2015-07-22 18:30:48606
0
-
原创 poj 2104 K-th Number【主席树】
题目链接:http://poj.org/problem?id=2104询问求区间第k大。代码:#include <stdio.h>#include <iostream>#include <string.h>#include <string>#include <cstring>#include <cmath>#include <cstdlib>#include <algorithm>#2015-10-03 00:56:52270
0
-
原创 wustoj 1593: Count Zeros【线段树】
题目:http://acm.wust.edu.cn/problem.php?id=1593&soj=0解法:线段树维护因子2 5存在的个数。并判断是不是存在0代码:#include <stdio.h>#include <iostream>#include <string>#include <cstring>#include <cmath>#include <cstdlib>#includ2016-04-25 17:17:35345
0
-
原创 LightOJ 1082 - Array Queries【线段树最值】
题目链接: http://www.lightoj.com/volume_showproblem.php?problem=1082一水~代码:#include <stdio.h>#include <iostream>#include <string>#include <cstring>#include <cmath>#include <cstdlib>#include <algorith2015-10-10 18:28:45341
0
-
原创 51nod 1174 区间中最大的数【线段树】
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1174好久没写线段树了,区间最大值,水题。。代码:#include <stdio.h> #include <iostream> #include <string> #include <cstring> #include <cmath> #incl2015-10-02 19:52:35307
0
-
原创 hdu-4027 Can you answer these queries?
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4027修改操作是把区间内的所有数开根号区间求和操作2 的 63 次开方6,7 根号也就变为了 1 。#include #include #include #include #include #include #include #include #incl2015-01-23 21:28:54544
0
-
原创 poj-3264
http://poj.org/problem?id=3264基础线段树求区间最大值与最小值的差//poj 3264#include #include #include #include #include #include using namespace std;#define ll(ind) (ind<<1)#define rr(ind) (ind<<1|1)2015-01-22 23:08:17665
0
-
原创 poj-2828 Buy Tickets
http://poj.org/problem?id=2828题意:有n个的排队,每一个人都有一个val来对应,每一个后来人都会插入当前队伍的某一个位置pos。要求把队伍最后的状态输出。逆向思考。这样考虑,最后一个人一定会得到当前队伍他想要的位置,如果我们往前一个阶段,倒数第二个人也一定能得到他想要的位置……,也就是说,我们可以这样处理,我们把最后一个人插入,然后忽略它,再把2015-01-04 20:12:07781
0
-
原创 hdu-1754
#include#include#include#include#include#include#include#include#include#include#include#include#include #include #include #include using namespace std;int max (int a,int b){2014-10-29 21:09:25556
0
-
原创 poj-3468 区间操作
http://poj.org/problem?id=3468区间求和操作 ,一个区间加操作。#include #include #include #include #include #include #include #include #include #include using namespace std;#define ll(ind) (ind<<1)#d2015-01-21 11:49:18581
0
-
原创 hdu-2715 Billboard
http://acm.hdu.edu.cn/showproblem.php?pid=2795转:题意:有一块板,规格为h*w,然后有n张海报,每张海报的规格为1*wi,选择贴海报的位置是:尽量高,同一高度,选择尽量靠左的地方。要求输出每张海报的高度位置。因为最多只有二十万张海报,所以板的最大的长度不会超过二十万,但是要小心,如果板的长度小于h,我们还要用h来建树2015-01-04 00:48:22599
0
-
原创 hdu-1166
线段树点操作#include#include#include#include#include#include#include#include#include#include#include#include#include #include #include #include using namespace std;struct node{ i2014-10-29 21:06:58489
0
-
原创 hdu-1698
http://acm.hdu.edu.cn/showproblem.php?pid=1698实现求全部区间的和 ,修改部分区间的值。成段更新需要用到懒惰标记 lazy。简单来说就是每次更新的时候不要更新到底,用延迟标记使得更新延迟到下次需要更新or询问到的时候。延迟标记的意思是:这个区间的左右儿子都需要被更新,但是当前区间已经更新了。#include #inc2015-01-20 18:21:48674
0
-
原创 hdu 5289 Assignment 【ST算法】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5289 题意:求满足最大值减最小值小于k的区间的数目。 代码:#include <stdio.h>#include <ctime>#include <math.h>#include <limits.h>#include <complex>#include <string>#include2015-07-22 13:11:23751
0