
线段树的天下
抄李队长的一段话:
多为OJ题解,比赛题解,欢迎神犇来踩…>_<…
Sirius_Ren
▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇自己刮~~~
展开
-
AHOI 2009 (BZOJ1798)维护序列 seq (线段树好题?)
我是不会说这个题很坑的。。 改了一晚上。。。 // by SiriusRen#include <cstdio>#define N 150000#define LSON l,mid,lson#define RSON mid+1,r,rson#define LL long longusing namespace std;LL n,m,mod,xx,yy,zz,jy;LL mul[N*原创 2016-07-06 22:48:53 · 892 阅读 · 0 评论 -
TYVJ 1427 线段树的基本操作
题意: 单点修改,区间最值 思路: 线段树 原题请戳这里//By SiriusRen#include <cstdio>#include <cstring>#include <algorithm>#define LSON l,mid,lson#define RSON mid+1,r,rson#define N 500000 #define inf 0x3fffffffusing原创 2016-07-06 20:18:35 · 1459 阅读 · 0 评论 -
NOIP2012 D2 T2 借教室 线段树 OR 二分法
思路:1.线段树 维护区间的最小值,每次修改可以运用打标记的方法节省时间(关于节省时间 我后面有话说)。。。2.二分?(可惜并不会写,不知道怎么二分)。晚上补了个二分的程序。(若要看正解,请直接翻至页面底部。。 中间废话多)原创 2016-07-04 21:04:55 · 2453 阅读 · 2 评论 -
POJ 3264 线段树 ST
题意:给你一个数列,从中挑一段,问你这段数的最大值减最小值是多少。 思路:线段树。// by Sirius_Ren#include <cstdio>#include <algorithm>#define N 50000using namespace std;int n,q,xx,yy,tree[N*4],MAX[N*4],MIN[N*4],ansmax,ansmin;void buil原创 2016-06-29 19:59:24 · 514 阅读 · 0 评论 -
POJ 3468 线段树+状压
题意:给你n个数,有对区间的加减操作,问某个区间的和是多少。 思路:状压+线段树(要用lazy标记,否则会TLE)//By SiriusRen#include <cstdio>#include <cstring>#define N 100001using namespace std;long long tree[N*4],lazy[N*4];int xx,yy,zz,n,q;char原创 2016-06-29 19:42:11 · 729 阅读 · 0 评论 -
POJ 2777 线段树
一道线段树。lazy标记+位运算……(第一次写这个什么lazy标记,抄了一发题解)我们发现:“或”操作在这里用正合适。 原题请戳这里// by Sirius_Ren#include <cstdio>#include <algorithm>#define N 100010using namespace std;int l,t,o,xx,yy,zz;char jy;struct segt原创 2016-06-28 20:54:49 · 719 阅读 · 0 评论 -
SPOJ GSS1 & GSS3&挂了的GSS5
线段树然后yy一下,搞一搞。GSS1:#include <cstdio>#include <algorithm>using namespace std;int lm[200005],rm[200005],ma[200005],s[200005],left,right,n,m,ans,rans;void build(int l,int r,int num){ if(l==r){scan原创 2016-05-02 18:23:27 · 880 阅读 · 0 评论 -
HDU 1166 线段树模板&树状数组模板
HDU1166 上好的线段树模板&&树状数组模板 线段树:#include <cstdio>using namespace std;int cases,n,tree[200500],ql,qr;char s[50];void build(int l,int r,int num){ if(l==r){scanf("%d",&tree[num]);return;} int m原创 2016-04-30 20:06:26 · 814 阅读 · 0 评论