线段树
南宫嘉俊
学生
展开
-
HDU 5475 2015 ACM/ICPC Asia Regional Shanghai Online An easy problem(线段树)
题意:给你n个数和mod,X=1;接下来的n个数a,b,如果a=1,表示X=X*b;如果a=2,表示X=X/(第b个数的b值),线段树做之;if (a==2)将第b个数表示成1; #include #include #include using namespace std; #define LL long long #define lson l,m,rt<<1 #define rson m+1,原创 2015-09-28 15:47:11 · 356 阅读 · 0 评论 -
HDU 5480 Conturbatio(树状数组)
简单的树状数组题,分别用heng[],shu[],表示横竖列 #include #include #include using namespace std; const int maxm=1e5+10; int heng[maxm]; int shu[maxm]; int inx[maxm]; int iny[maxm]; int lower_bit(int i) { return i&原创 2015-10-07 19:50:23 · 334 阅读 · 0 评论 -
POJ 2777 Count Color(区间覆盖和区间查询)
这题很巧,要用位运算。#include #include #include using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 const int maxm=1e5+10; int add[maxm<<2]; int sum[maxm<<2]; char s[3]; int cnt; void pushup(原创 2015-09-22 19:05:07 · 310 阅读 · 0 评论 -
HDU 3577 Fast Arrangement(区间覆盖+单点查询)
区间覆盖+单点查询,不是难题#include #include #include using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 const int maxm=1e6+10; int sum[maxm<<2]; int add[maxm<<2]; int a[maxm<<2]; void pushup(i原创 2015-09-22 20:11:42 · 380 阅读 · 0 评论 -
coderforce 581B Luxurious Houses(线段树求区间最大)
题意:从1到N间房子,求每个房子至少加多少米才能比后面的高 解:简单的线段树求区间最大值问题。#include #include #include using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 const int maxm=1e5+10; const int inf=-1<<29; int sum[m原创 2015-10-28 17:10:04 · 379 阅读 · 0 评论 -
POJ 2828 Buy Tickets(线段树)
题意:n个人排队,每个人有一个权值,给出他们插队的位置,求最后的顺序,按顺序输出权值。 解:逆着想,最后一个人插队后, 他的位置就是确定了下来的。倒数第二个人插的话,位置在最后一个的前面,最后一个对他无影响,位置在最后一个后面,则最后一个对他有影响,他必须往后移一位。#include #include #include using namespace std; const int maxm=2e原创 2015-12-08 16:56:36 · 278 阅读 · 0 评论 -
HDU 5289 Assignment(2015 Multi-University Training Contest 1)
Assignment Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 2976 Accepted Submission(s): 1385 Problem Description Tom owns a co原创 2016-02-28 18:51:13 · 363 阅读 · 0 评论