
数据结构
文章平均质量分 67
蘑菇小哲
在通往梦想的道路上奋力潜行
展开
-
HDU 1280 前m大的数(hash)
题目大意:原创 2014-04-07 12:13:57 · 1207 阅读 · 3 评论 -
HDU 5316 Magician(2015多校第三场 线段树)
MagicianTime Limit: 18000/9000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1700 Accepted Submission(s): 503Problem DescriptionFantasy magicia原创 2015-07-30 10:04:10 · 728 阅读 · 0 评论 -
POJ 2481 Cows
解题思路:实质是排序后求逆序对#include #include #include #include #include #include #include #include #include #include #include #define ll long longusing namespace std;const int MAXN = 100000 + 10;原创 2015-04-22 15:56:34 · 768 阅读 · 0 评论 -
HDU 3974 Assign the task(线段树)
#include #include #include #include #include #include #include #include #include #include #define ll long longusing namespace std;const int MAXN = 50000 + 10;struct Edge{ int to, nex原创 2015-04-22 23:03:38 · 627 阅读 · 0 评论 -
ZOJ 1610
#include #include #include #include #include #include #include #include using namespace std;const int MAXN = 8000 + 10;struct Tree{ int l, r; int val;}tree[MAXN<<2];int color[MAXN原创 2015-03-23 11:25:54 · 389 阅读 · 0 评论 -
HDU 1556 Color the the ball(树状数组)
解题思路:应用树状数组的一个小技巧,每次区间加1的时候只需要在左端点加1,右端点加-1,这样询问的时候便可以直接求和。#include #include #include #include #include #include using namespace std;const int MAXN = 100000 + 10;int C[MAXN];int n;int lo原创 2015-03-16 12:02:11 · 455 阅读 · 0 评论 -
HDU 4027 Can you answer these queries(线段树)
#include #include #include #include #include #include #include #include #include #include using namespace std;const int MAXN = 100000 + 10;struct Tree{ int l, r; long long sum;}t原创 2015-03-25 23:27:49 · 403 阅读 · 0 评论 -
HDU 3530 Subsequences(单调队列)
解题思路:开两个单调队列即可。#include #include #include #include #include #include #include #include #include #include #define LL long long using namespace std;const int maxn = 100000 + 10;int A[ma原创 2015-02-06 18:04:54 · 672 阅读 · 0 评论 -
POJ 2823 Sliding Window 单调队列
解题思路:维护一个递增的单调队列和一个递减的单调队列,基础题。代码:#include #include #include #include #include #include #include #include #include #include #include #define LL long long#define FOR(i,x,y) for(int i=原创 2014-10-08 18:26:08 · 776 阅读 · 0 评论 -
POJ 2482 stars in your window(线段树 , 扫描线)
题目大意: 给你10000以内的星星的坐标和亮度,让你用一个W × H 的矩形去围住一个区域,使得区域内星星的亮度最大,矩形边缘上的星星不算。解题思路: 对于每一个星星 建立一个(x, y , y + h , c) 的扫描线 和一个(x + w , y , y + h , - c)的扫描线,将问题转化成求区间最大值。几个需要注意的地方:矩形边缘上的需要处理一下,将每个叶节点设为长度为原创 2014-08-26 14:38:12 · 555 阅读 · 0 评论 -
HDU 5023 (2014广州网络赛 线段树)
解题思路: 有两种操作,第一种是将区间 a 到 b 染成颜色 c ,第二种是询问区间 a 到 b 内的颜色,按照顺序输出。 注意到颜色只有三十种,因此我们可以用二进制数表示颜色,通过位运算来操作。#include #include #include #include #include #include #include #include #include #inclu原创 2014-09-21 10:15:55 · 883 阅读 · 0 评论 -
HDOJ 4533 威威猫系列故事——晒被子
#include #include #include #include #include #include #include #include #include #include #include #define LL long long#define FOR(i,x,y) for(int i=x;i<=y;i++)#define rFOR(i,x,y) for(int原创 2014-08-26 10:49:29 · 600 阅读 · 0 评论 -
POJ 2528 Mayor's posters (线段树,扫描线)
#include #include #include #include #include #include #include #include #include #define LL long long#define lson l , m , rt<<1#define rson m+1 , r, rt<<1|1using namespace std;const int m原创 2014-08-11 19:01:23 · 499 阅读 · 0 评论 -
HDU 4967 Handling the past(线段树)
#include #include #include #include #include #include #include #include #include #include #define LL long long#define lson l , m , rt<<1#define rson m+1 , r , rt<<1|1#define FOR(i,x,y) fo原创 2014-08-20 14:17:25 · 671 阅读 · 0 评论 -
POJ 2828 Buy Tickets (线段树,区间修改)
ACM,数据结构,线段树原创 2014-07-30 09:46:06 · 710 阅读 · 0 评论 -
HDU 1698 Just A Hook (线段树,区间修改)
include #include #include #include #include #include #include #include #define LL long long#define lson l , m , rt<<1#define rson m+1 , r , rt<<1|1using namespace std;const int maxn = 1111原创 2014-07-30 09:17:16 · 538 阅读 · 0 评论 -
大牛整理的线段树集锦
转载自:http://www.notonlysuccess.com/膜拜之。。。【完全版】线段树很早前写的那篇线段树专辑至今一直是本博客阅读点击量最大的一片文章,当时觉得挺自豪的,还去pku打广告,但是现在我自己都不太好意思去看那篇文章了,觉得当时的代码风格实在是太丑了,很多线段树的初学者可能就是看着这篇文章来练习的,如果不小心被我培养出了这么糟糕的风格,实在是过意不去,正好过转载 2014-07-29 08:46:25 · 477 阅读 · 0 评论 -
UVA 11136 Hoax or what
题目大意: 活动持续 N 天,每天放入 若干账单,每天结束 时取出最大最小的两个账单 ,将两者的 差作为奖品价值,问活动期间奖品的总价值。解题思路: 网上见有很多 人 都是维护 两个 堆,其实我们注意到账单 的金额是小于 1000000,所以可以采用基数排序或者叫hash,每天最坏可以在O(n)的时间 内,找到最大值和最小值。原创 2014-06-12 10:40:15 · 589 阅读 · 0 评论 -
ZOJ 3886 Nico number(线段树)
Nico NumberTime Limit: 2 Seconds Memory Limit: 262144 KBKousaka Honoka and Minami Kotori are playing a game about a secret of Yazawa Nico.When the game starts, Kousaka Honoka will原创 2015-08-29 20:48:37 · 894 阅读 · 0 评论